C#学习系列相关之数组(一)---数组的定义与使用

简介: C#学习系列相关之数组(一)---数组的定义与使用

一、数组定义与初始化

        数组是数据的集合。标量变量一次只能保存一项。数组可以容纳多个项目。这些项目称为数组的元素。数组存储相同数据类型的数据。每个元素都可以通过索引来引用。数组是从零开始的。第一个元素的索引为零。数组是引用类型。

       数组用于存储我们应用程序的数据。我们将数组声明为某种数据类型。我们指定它们的长度。我们用数据初始化数组。我们有几种处理数组的方法。我们可以修改元素、对其进行排序、复制或搜索它们。

 

1、数组的定义
int[] ages;
String[] names;
float[] weights;

       我们有三个数组声明。声明由两部分组成。数组的类型和数组名称。数组的类型具有确定数组中元素类型的数据类型(在我们的示例中为 int、String、float)和一对方括号 []。括号表示我们有一个数组。

2、数组初始化
第一种方式:
int[] num=new int[5]
num[1]=1;
num[2]=2;
num[3]=3;
num[4]=4;
num[5]=5;
//[]中括号内的5是定义数组的长度,接下来对数组内数字进行赋值,如果未赋值的长度其为默认值0
//第二种方式
int[] num=new int[]{1,2,3,4,5}
或者
int[] num=new int[5]{1,2,3,4,5}
//如果中括号内有数组长度,则大括号内的数据一定是指定长度
//没有指定数组的长度。编译器会为我们做这件事
foreach (int i in array)
{
    Console.WriteLine(i);
}

我们使用 foreach 关键字遍历数组并打印其内容。

二、二维三维数组的使用

1、二维数组

int[,] twodim = new int[,] { {1, 2, 3}, {1, 2, 3}  };
int d1 = twodim.GetLength(0);
int d2 = twodim.GetLength(1);
for (int i=0; i<d1; i++)
{
    for (int j=0; j<d2; j++)
    {
        Console.WriteLine(twodim[i, j]);
    }
}

1、定义二维数组的时候,中括号内的要用,分割开

2、Getlength可以获取每个维度的数量

2、三维数组

int[,,] n3 =
{
    {{12, 2, 8}},
    {{14, 5, 2}},
    {{3, 26, 9}},
    {{4, 11, 2}}
};
int d1 = n3.GetLength(0);
int d2 = n3.GetLength(1);
int d3 = n3.GetLength(2);
for (int i=0; i<d1; i++)
{
    for (int j=0; j<d2; j++)
    {
        for (int k=0; k<d3; k++)
        {
            Console.Write(n3[i, j, k] + " ");
        }
    }
}
相关文章
|
2月前
|
Java 调度 C#
C#学习系列相关之多线程(一)----常用多线程方法总结
C#学习系列相关之多线程(一)----常用多线程方法总结
|
2月前
|
C#
C#学习相关系列之数据类型类的三大特性(二)
C#学习相关系列之数据类型类的三大特性(二)
|
2月前
|
C#
C#学习相关系列之yield和return的区别
C#学习相关系列之yield和return的区别
|
2月前
|
C#
C#学习系列相关之多线程(二)----Thread类介绍
C#学习系列相关之多线程(二)----Thread类介绍
|
2月前
|
C#
C#学习相关系列之数据类型类----嵌套类和嵌套方法(三)
C#学习相关系列之数据类型类----嵌套类和嵌套方法(三)
|
2月前
|
存储 C# 索引
C#学习相关系列之数据类型类的定义(一)
C#学习相关系列之数据类型类的定义(一)
|
2月前
|
C#
C#学习相关系列之自定义遍历器
C#学习相关系列之自定义遍历器
|
20天前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
|
20天前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
|
20天前
|
存储 安全 网络安全
C#编程的安全性与加密技术
【4月更文挑战第21天】C#在.NET框架支持下,以其面向对象和高级特性成为安全软件开发的利器。本文探讨C#在安全加密领域的应用,包括使用System.Security.Cryptography库实现加密算法,利用SSL/TLS保障网络传输安全,进行身份验证,并强调编写安全代码的重要性。实际案例涵盖在线支付、企业应用和文件加密,展示了C#在应对安全挑战的同时,不断拓展其在该领域的潜力和未来前景。