C#二维数组基本用法实例

yizhihongxing

下面是关于“C#二维数组基本用法实例”的完整攻略。

什么是二维数组

在C#中,数组是一个由相同类型的若干元素在连续的存储空间中所组成的集合。而二维数组则是由多个一维数组组合形成的。可以理解为一个数据表格,有行和列两个维度。

声明二维数组

声明二维数组需要指定行数和列数,并使用两个方括号“[]”来表示。语法如下:

int[,] numbers = new int[3, 4];

上述代码定义了一个3行4列的整数类型的二维数组。需要注意的是,二维数组的元素也是可以初始化的。

int[,] numbers = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

访问二维数组元素

访问二维数组的元素需要指定所在的行和列,语法如下:

int[,] numbers = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
Console.WriteLine(numbers[0, 0]); // 输出为1
Console.WriteLine(numbers[1, 2]); // 输出为6

示例说明1

下面的示例中,我们声明了一个5行4列的整数类型的二维数组,随机生成了每个元素的值,并输出了这个二维数组的内容。

int[,] numbers = new int[5, 4];
Random random = new Random();
for (int row = 0; row < 5; row++)
{
    for (int col = 0; col < 4; col++)
    {
        numbers[row, col] = random.Next(10, 100);
        Console.Write(numbers[row, col] + "\t");
    }
    Console.WriteLine();
}

运行后可以看到类似下面的结果:

10      61      41      71
72      84      29      51
86      27      17      13
97      25      75      14
35      10      21      70

示例说明2

下面的示例中,我们声明了一个学生成绩表格,其中第一列是学生的姓名,第一行是课程科目,其他格子中存储了学生在该科目中的成绩。然后计算出每个学生的平均分,并输出。

string[,] gradeTable = {
    {"Name", "Chinese", "Math", "English", "Politics"},
    {"John", "84", "78", "92", "88"},
    {"Lisa", "90", "92", "87", "91"},
    {"Alice", "76", "68", "70", "85"},
    {"Mike", "82", "90", "88", "82"}
};
for (int row = 1; row < gradeTable.GetLength(0); row++)
{
    string name = gradeTable[row, 0];
    double avgScore = 0;
    int count = 0;
    for (int col = 1; col < gradeTable.GetLength(1); col++)
    {
        int score;
        if (int.TryParse(gradeTable[row, col], out score))
        {
            avgScore += score;
            count++;
        }
    }
    avgScore /= count;
    Console.WriteLine(name + "'s average score is " + avgScore.ToString("0.00"));
}

运行后可以看到类似下面的结果:

John's average score is 85.50
Lisa's average score is 90.00
Alice's average score is 74.75
Mike's average score is 85.50

希望这份攻略可以帮助你学会如何在C#中使用二维数组!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#二维数组基本用法实例 - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • C#中设计、使用Fluent API

    设计和使用Fluent API是C#的一个非常重要的特性,它可以极大地提升我们代码的可读性和可维护性。在本篇文章中,我将为大家详细讲解如何在C#中设计和使用Fluent API,并提供两个示例说明。 Fluent API是什么 Fluent API是一种使用方法链的API设计风格,它允许我们编写从上到下的代码,使得我们的逻辑更易于理解和调整。 与传统的API…

    C# 2023年6月7日
    00
  • C#中通过使用Connection类来实现打开/关闭数据库的代码实例

    我们来讲解一下C#中打开关闭数据库的代码实例。 首先,C#中打开关闭数据库需要使用到System.Data.SqlClient命名空间中的一些类,包括SqlConnection、SqlCommand、SqlDataAdapter、SqlDataReader等,而打开/关闭数据库的核心是SqlConnection类。 打开数据库 要打开数据库,我们需要创建一个…

    C# 2023年5月15日
    00
  • asp.net生成静态页并分页+ubb

    生成静态页能够大大提高网站的访问速度并节约服务器资源,而分页则可以方便用户阅读长篇文章,使其更易于消化和理解。本文将详细讲解如何使用ASP.NET实现生成静态页并分页,同时支持UBB语法。 生成静态页 1. 安装NuGet包 在Visual Studio中打开项目,右键点击项目名称,选择“管理NuGet程序包”。然后搜索“AspNet.StaticFileG…

    C# 2023年5月31日
    00
  • Unity多语言转换工具的实现

    Unity多语言转换工具的实现攻略 背景 在Unity游戏开发应用途中,多语言支持是必不可少的功能,为了能够让游戏适应不同的国家或地区,我们需要使用多语言转换工具实现简单的针对不同语言的转换和输出。 实现方法 我们可以通过以下步骤实现Unity多语言转换工具: 1. 创建语言文件 先在项目中创建多个不同语言的语言文件(如中文语言文件、英文语言文件等),并将这…

    C# 2023年5月31日
    00
  • C#反射应用实例

    下面是关于“C#反射应用实例”的完整攻略。 什么是C#反射? C#反射是让程序在运行时动态获取类型信息的功能。通过C#反射,可以在不知道类型名称的情况下获取相应的类型,并对类型的成员进行操作。C#反射提供了一种动态获取类型信息的方式,使得程序具有更高的灵活性和可扩展性。 C#反射的基本用法 获取类型对象 使用反射获取类型信息的第一步是获取类型对象。可以通过T…

    C# 2023年6月7日
    00
  • 详解C#中的字符串拼接@

    详解C#中的字符串拼接@ 什么是字符串拼接? 在C#中,我们经常需要将多个字符串连接起来,得到一个完整的字符串。比如在构造SQL语句、拼接URL参数等场景中,字符串拼接是非常常见的操作。在最初的C#版本中,字符串拼接操作主要使用加号(+)进行操作。但是,这种方式会产生很多临时字符串对象,对内存和性能有影响。从C# 2.0版本开始,开发者可以使用字符串拼接运算…

    C# 2023年6月8日
    00
  • C# Linq的Union()方法 – 返回两个序列的并集

    C# Linq的Union()操作符 Union() 是 C# Linq 提供的操作符之一,它可以将两个集合合并为一个集合,并且去除重复的元素。它的语法如下: IEnumerable<TSource> Union<TSource>( this IEnumerable<TSource> first, IEnumerable&…

    C# 2023年4月19日
    00
  • ASP.NET Core使用EF保存数据、级联删除和事务使用

    ASP.NET Core是一个开源的Web框架,支持多种平台,包括Windows、macOS和Linux等。在ASP.NET Core中,使用Entity Framework(EF)来操作数据库,可以很方便地进行数据的增删改查等操作。本文将详细介绍ASP.NET Core使用EF保存数据、级联删除和事务使用的完整攻略,同时附带两个示例说明。 一、ASP.NE…

    C# 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部