C#入门之数组

C#数组赋值的多种方法 C#编程中,数组是一种常用的数据结构,用于存储和操作一组相同类型的元素。在使用数组时,我们经常需要为数组的元素赋值。本文将介绍C#数组赋值的多种方法,并提供相应的源代码示例。通过指定数组的索引位置,将特定的值赋给相应的元素。通过使用循环结构,我们可以根据特定的逻辑或算法为数组元素赋值。通过在声明数组时提供初始值,可以在创建数组时直接为数组元素赋值。这样,数组的元素将被赋值为1、2、3、4和5。,然后通过指定索引位置,将1、2、3、4和5分别赋值数组的元素。方法可以将指定的值填充到数组的所有元素中。 阅读详情

一. C#的声明数组和赋值

1. 数组的声明和初始化语法如下:

数据类型[ ] 数组名 = new 数据类型[长度] ; 

注意:数组名像变量名一样要遵循标识符的命名规则;长度必须是整数

下面我们来比较变量和数组的声明与初始化,右边是在内存中为变量和数组分配空间的示意:


对比变量 x 和数组 y 就会发现,数组 y 中其实包含了 3 个 double 类型的变量,为什么是 3 个?因为初始化数组时在 [ ] 中声明的长度为 3 。

既然都在数组 y 中,所以 3 个变量(应该叫数组元素)的名字都叫 y ,为了区分它们,按照顺序给它们加上索引 [0]、[1]、[2] 。

请注意:数组元素的索引从 0 开始递增。那么,数组 y 中 3 个元素的名字就变成了 y[0]、y[1]、y[2] 。


小贴士:数组经过初始化以后,数组元素有默认的初始值,

 double 类型为 0.0 , int 类型为 0 , char 类型为 'a' , bool 类型为 false , string 类型为 null 。


2. 数组元素的赋值与普通变量相同。

例如,声明了一个长度为 3 的 string 类型数组,逐个赋值,然后输出:



3. 如何知道一个数组的长度呢? 

数组.Length 属性会返回数组的长度(即数组元素的个数)。

例如


代码中的 friends.Length 会返回 friends 数组的长度,请看运行结果:



二. C#访问数组元素

1. 数组元素的多种初始化方式


数组 b、c、d 是在初始化时为数组元素指定初始值。

数组 d 用 [3] 声明了数组长度,后面 { } 中的初始值个数要与 [ ] 中声明的长度相同。

数组 b、c 初始化没有声明长度,长度由 { } 中的初始值个数确定。


2. 上一节输出同学名字的例子可以改为



三. 算法——查找(一)

循环访问一组数据,从中找出符合条件的数据,这样的算法叫做查找

写查找的算法,需要做 2 件事,一是写循环访问每一个数据,二是对每一个数据进行验证

这样,就需要写 2 个“条件”:循环条件和筛选条件

例如


循环条件是x<=10,筛选条件是x%2==0

初学者常见的错误是把 2 个条件都写在循环条件里,比如把循环条件写成 x<=10 && x%2== 0 

请注意甄别:循环条件必须能够遍历每一个数据

如果你写的循环条件会漏掉某些数据,或者循环没有能够正常运行,请检查是不是把筛选条件也写在循环条件里了。


运行结果是



四. 算法——查找(二)

上一节是把符合条件的数据输出出来,但有时只想知道有没有符合条件的数据,不用输出。

例如

查找一组人名,如果人名中包含“诺贝尔”,就打印“有诺贝尔”,如果没有,就打印“木有木有”


运行结果


但是这段代码有个逻辑错误,正确的逻辑应该是:一组数据中只要有一个符合条件,就可以认为“有符合条件的数据”;

但只有一组数据中每一个都不符合条件,才能认为“没有符合条件的数据”——有一个相等即为"有",全都不等才是"无"

代码修改为


变量 hasNbr 起到了关键作用:记录筛选结果。

它的初始值为 false ,表示没有,如果循环中找到了相等的数据,再修改 hasNbr 的值为 true ,表示有。

循环结束后,只要看看变量 hasNbr 是 true 还是 false ,就知道循环中是否修改过。

其中,break 其实不是必须的,但是一旦确认有诺贝尔,那么继续筛选下去就没有意义,用 break 跳出循环可以节省时间。

运行结果为



五. C#的foreach关键字

for 循环使我们可以通过索引访问数组元素;而 foreach 循环则可以不依赖索引而读取每一个数组元素

下面的示例代码声明了一个整型数组,然后通过两种方法输出数组元素:


运行结果是



使用foreach 的语法


第4点,如上面的代码,迭代变量 x 只能用于读取数组 num 中的值,但是不能给数组元素赋值

如果尝试给 x 赋值,则会有下面的错误提示:


foreach 主要用于,C#中有一些类似于数组的数据组织方式,它们中有一些是没有元素索引的,对于这些元素,只能通过 foreach 遍历。


六. C#的二维数组的声明和访问

二维数组,就是以数组作为元素的数组。

来看看二维数组和一维数组的对比


二维数组中有2 个一维数组分别为 b[0]、b[1]。

每一个一维数组中的元素索引分别为 0、1、2,

即每一个一维数组又包含3个int型变量:b[0,0]、b[0,1]、b[0,2]、b[1,0]、b[1,1]、b[1,2]


二维数组的声明

int[,] arr = new int[2,3]; //包含2个一维数组,每个一维数组包含3个变量,总共2*3=6个数组元素

二维数组的赋值的输出

arr[1,0] = 28; //二维数组元素有2个索引,都是从0开始,以arr数组为例,元素索引从[0,0]到[1,2]
Console.Write( arr[1,0] );

例如

有 4 名同学参加语文和数学两门考试,我们用二维数组存储他们的成绩,每位同学的 2 门课分数,存储在一个一维数组中:


运行结果






C#数组赋值方法 这段代码创建了一个包含奇数的数组numbers,然后使用LINQ的Where方法筛选出其中的偶数,并将结果存入evenNumbers数组中。下面我将介绍几种常见的数组赋值方法,并提供相应的代码和描述。这段代码创建了一个长度为5的整数数组,并使用循环为数组的每个元素赋值。通过循环变量i和表达式。这段代码创建了一个包含5个整数的数组,每个元素的值分别为1、2、3、4、5。直接初始化赋值是最简单的一种方式,我们可以在声明数组时直接指定元素的值。我们也可以使用循环来为数组赋值,这样可以灵活地根据需要进行赋值操作。 阅读详情

相关推荐

C#数组赋值操作详解

C#中,数组是一种常用的数据结构,用于存储相同类型的元素。通过数组赋值操作,我们可以将特定的值或表达式赋给数组的元素。本文将详细介绍C#中的数组赋值操作,并提供相应的示例代码。其中,array是要赋值数组变量,index是目标元素的索引,value是要赋给目标元素的值或表达式。下面我们通过几个示例来说明数组赋值操作的不同应用方式。

ByteHero的博客 1221

js判断一个对象是否为空

一、将json对象转化为json字符串,再判断该字符串是否为"{}" var data = {}; var b = (JSON.stringify(data) == "{}"); alert(b);//true 二、使用ES6的Object.keys()方法 是ES6的新方法, 返回值也是对象中属性名组成的数组 var data = {}; var arr = Object.keys(data); alert(arr.length == 0);//true 三、Object.getOw

u014605676的博客 619

C#零基础入门之百识百例》(二十八)交错数组 -- foreach求和

交错数组数组数组。与矩形数组不同,交错数组的子数组可以有不同数目的元素。

陈言必行 -- Unity游戏开发领域优质博主 4051

C#数组如何赋值

C#数组如何赋值 声明数组之后,可以立即为其填充值。方法是在一对大括号中,使用一个以逗号分隔的数据项列表。下面声明了一个字符串数组,然后在一对大括号中指定了9种不同的编程语言的名称。 在这个以逗号分隔的列表中,第一项成为数组的第一个元素,第二项成为第二个元素,依此类推。我们使用大括号来定义一个数组字面量。只有在同一个语句中声明并赋值时,...

weixin_30416497的博客 2352

[C#入门] 数组

“ 相同的类型的若干变量按照有序的形式组织起来,这种集合,我们把它称之为数组! ” 为什么使用数组入门第六篇,有讲到数据类型和变量。变量很大一部分作用是为了存储程序在计算过程中产生的临时数据,或预定义数据。但是在实际业务场景中,往往一个业务逻辑会需要用到大量的数据,那么此时再去挨个定义变量显然变得不那么合理。如:程序要求计算当前公司所有员工的平均年龄。 int age1,age2,age3,age4,age5.....; 显然,这种有规则的重复定义并不方便,显得冗余(冗余rǒng..

mrtaoy96的博客 408

C#零基础入门之百识百例》(二十一)数组遍历 -- 删除数组零元素

数组从字面上理解就是存放一组数,但在 C# 语言中数组存放的并不一定是数字,也可以是其他数据类型。在一个数组中存放的值都是同一数据类型的,并且可以通过循环以及数据操作的方法数组的值进行运算或操作。

陈言必行 -- Unity游戏开发领域优质博主 5055

C#零基础入门之百识百例》(四十六)类的索引 -- 数组索引器

索引器的行为的声明在某种程度上类似于属性(property)。就像属性(property),您可使用 get 和 set 访问器来定义索引器。但是,属性返回或设置一个特定的数据成员,而索引器返回或设置对象实例的一个特定值。

陈言必行 -- Unity游戏开发领域优质博主 3640

C#入门之路03-数组

13 Sort(Array) 使用数组的每个元素的 IComparable 实现来排序整个一维数组中的元素。 14 ToString 返回一个表示当前对象的字符串。从对象(Object)继承。

TurboQ珞珈 246

C#入门7——数组的函数及调用

using System; namespace day0603 { class Program { static void Main(string[] args) { Console.WriteLine("请输入数组长度length:"); int length = int.Parse(Console.ReadLine()); int[] array0= new int[length]

qq_47022300的博客 2873

C#入门数组(二)

C# 支持多维数组,多维数组又称为矩形数组。多维数组最简单的形式是二维数组。而二维数组,在本质上,是一个一维数组的列表。一个二维数组可以被认为是一个带有 x 行和 y 列的表格。本篇文章没有再详解如何完成二维数组的删除,大家可以参考数组增加元素的方法完成二维数组。概念:同一变量类型的 行列数据集合必须掌握:申明,遍历,增删查改所有的变量类型都可以申明为 二维数组游戏中一般用来存储 矩阵,再控制台小游戏中可以用二维数组 来表示地图格子。

Oasis2675的博客 2700

C#入门——数组应用

using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("请输入学生总数量:"); int numOfStu = int.Parse(Console.ReadLine()); string[] arry; a

qq_47022300的博客 180

C# 一周入门之《C#-数组》Day Three

数组一、数组简述&一维数组1. 声明数组2. 初始化数组3. 赋值数组三、多维数组四、交错数组五、数组访问合集1. for 循环2. foreach循环六、数组的属性及方法1. 常用属性2. 常用方法 一、数组简述&一维数组 数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。 数组内存连续【可使用下标访问】 索引是从零开始的 1. 声明数组 类型名 [ ] 数组名 [ ] 指定数组的维度 就像这样的样子,带有一个[]就

洪源兄 649

C#基础 数组的定义与使用

数组 数组是一个存储相同类型元素的固定大小的有顺序的集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。 数组也是一种数据类型,数组是引用类型 1.1数组的类型 一维数组 二维数组 多维数组 交错数组 1.2简单数组 1.2.1数组的声明 数据类型 [] 数组名称; 通过数组的声明,明确这个数组中可以装载的数据类型有哪些 数据类型可以指定任何所需数据 string[] nameList; []:指定数组的秩(...

Cocksuck的博客 1万+

C#中定义数组

  一、一维: int[] numbers = new int[]{1,2,3,4,5,6}; //不定长 int[] numbers = new int[3]{1,2,3};//定长 二、多维 int[,] numbers = new int[,]{{1,2,3},{1,2,3}}; //不定长 int[,] numbers = new int[2,2]{{1,2},{1,2...

weixin_33785108的博客 827

C#——数组(批量数据处理)

数组概述 数组是具有相同数据类型的一组数据的集合。 数组中的每一个变量称为数组的元素,数组能够容纳元素的数量称为数组的长度。数组中的每个元素都有具有唯一的引索与其相对应,数组从零开始。 一个数组的定义需要包含一下几个元素: 元素类型 数组的维数 每个维数的上下限 例如 int [] a = new int[80]; 一维数组 一维数组的创建 先声明再用new关键字进行内存分配 声明的一维数组...

qq_44715009的博客 5735

数组

C# 数组(Array) 数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。声明数组变量并不是声明 number0、number1、…、number99 一个个单独的变量,而是声明一个就像 numbers 这样的变量,然后使用 numbers[0]、numbers[1]、…、numbers[99] 来表示一个个单独的变量。数组中某个指定...

weixin_45058941的博客 1739

C#数组(Array)精讲

一、数组的概念 数组是一个存储相同类型元素的固定大小的顺序集合。 数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。数组中某个指定的元素是通过索引来访问的。 所有的数组都是由连续的内存位置组成的,最低的地址对应第一个元素,最高的地址对应最后一个元素。 二、声明数组 1、方式一 // 在数组声明的时候赋值 int[] num= {1,2,3,4,5}; 注意:声明的时候,直接初始化,知道类型、长度和值 2、方式二:定义数组的长度,没有赋值,元素默认值为0 // 数组长度为5,数组元素默认值是

路虽远,行则必至! 4285

C#中给数组赋值的优雅方式

通过选择适当的方式,我们可以根据需求轻松地给数组赋值,实现所需的功能。无论是使用初始化器还是循环结构,给数组赋值的方式都可以根据具体的需求选择。使用初始化器可以在声明数组的同时赋值,使代码更简洁。初始化器是一种简洁的语法,允许我们在声明数组的同时初始化其元素。除了直接列出元素的值,我们还可以使用表达式来计算数组的元素。通过这种方式,我们可以在声明数组的同时赋值,使代码更加简洁。在循环中,我们利用数组的索引和前两个元素的值来计算当前元素的值。的整数数组,并使用初始化器初始化了数组的前5个元素。

PixelProX的博客 535
上一篇: C#入门之循环结构
下一篇: C#入门之编程练习
Stephanie_0903
博客等级 码龄15年 43粉丝 98原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值