c# 中数组如何赋值

c# 中数组如何赋值

声明数组的同时进行赋值
string[] languages = { "C#", "COBOL", "Java",
"C++", "Visual Basic", "Pascal",
"Fortran", "Lisp", "J#"};
在这个以逗号分隔的列表中,第一项成为数组的第一个元素,第二项成为第二个元素,依此类推。我们使用大括号来定义一个数组字面量。
只有在同一个语句中声明并赋值时,代码清单2-30的赋值语法才可用。如果是在声明了之后才进行赋值,则需要使用new关键字和对应的数据类型,如代码清单2-31所示。
代码清单2-31 声明之后再进行数组赋值
string[] languages;
languages = new string[]{"C#", "COBOL", "Java",
"C++", "Visual Basic", "Pascal",
"Fortran", "Lisp", "J#" };

C#还支持将new关键字作为声明语句的一部分使用,所以它允许像代码清单2-32那样的赋值和声明。
代码清单2-32 声明的同时使用new进行数组赋值
string[] languages = new string[]{
"C#", "COBOL", "Java",
"C++", "Visual Basic", "Pascal",
"Fortran", "Lisp", "J#"};

使用new关键字是告诉“运行时”为数据类型分配内存。它指示“运行时”实例化数据类型——本例是一个数组。
任何时候将new关键字作为数组赋值的一部分使用,都可以同时在方括号内指定数组的大小。代码清单2-33演示了这个语法。
代码清单2-33 使用new关键字进行声明和赋值
string[] languages = new string[9]{
"C#", "COBOL", "Java",
"C++", "Visual Basic", "Pascal",
"Fortran", "Lisp", "J#"};

在初始化语句中,数组的大小和大括号中包含的元素数量必须匹配。除此之外,也可以分配一个数组,但不指定它的初始值,如代码清单2-34所示。
代码清单2-34 分配数组,但不指定初始值
string[] languages = new string[9];

分配一个数组但不指定初始值仍然会初始化每个元素。“运行时”会将每个元素初始化为它们的默认值,如下所示:
引用类型(比如string)初始化为null;
数值类型初始化为零;
bool初始化为false;
char初始化为\0。
其结果就是,在使用之前,不必单独对数组的每个元素进行赋值。
在C# 2.0中,可以使用default()运算符来判断一种数据类型的默认值。default()获取一个数据类型作为参数。例如,default(int)会返回0,而default(char)会返回\0。
由于数组大小不被作为变量声明的一部分,所以可以在运行时指定数组大小。例如,代码清单2-35根据在Console.ReadLine()调用中由用户指定的大小来创建一个数组。
代码清单2-35 在运行时定义数组大小
string[] groceryList;
System.Console.Write("How many items on the list? ");
int size = int.Parse(System.Console.ReadLine());
groceryList = new string[size];
// ...
C#采取类似的方式来处理多维数组。要以逗号分隔每一维上的大小。代码清单2-36初始化了一个没有走棋的tic-tac-toe棋盘。
代码清单2-36 声明一个二维数组
int[,] cells = int[3,3];
还可以像代码清单2-37那样,将一个tic-tac-toe棋盘初始化成特定的棋子布局。
初始化一个二维整数数组
int[,] cells = {
{1, 0, 2},
{1, 2, 0},
{1, 2, 1}
};
初始化采用的模式是一个有3个int[]类型的元素的数组,每个元素都具有相同的大小。在本例中,这个大小是3。注意,每个int[]元素的维必须是完全一致的。也就是说,像代码清单2-38那样的声明是无效的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-07
1、定义数组时直接赋值:
int[] x={1,2,3};
2、先定义数组,再赋值:
int[] x=new int[3];
x[0]=1;
x[1]=2;
x[2]=3;本回答被网友采纳
第2个回答  2012-05-07
int[] x={1,2,3};
int[] x=new int[3];长度3系统自动赋值全部为0!
int[] x=new int[]{1,2,3};
数组只要指定长度就不会报错!
第3个回答  2012-05-09
int[] x=new int[3]{0,11,25}; //前面的[3]是数组的长度
string[] hh=new string{"asd","assdd","dsafsd"}; //没有如上的[3],这个就可以不考虑长度啦
第4个回答  2012-05-09
1、直接赋值:
string[] str={"str1","str2","str3"};
2、定义数组长度,再赋值:
string[] str=new string[3];
str[0]="str1";
str[1]="str2";
str[2]="str3";
你可以在循环里写
for (int i=0;i<3;i++)
{
str[i]="AAA";
}

c#中如何给数组赋值?
其结果就是,在使用之前,不必单独对数组的每个元素进行赋值。在C# 2.0中,可以使用default()运算符来判断一种数据类型的默认值。default()获取一个数据类型作为参数。例如,default(int)会返回0,而default(char)会返回\\0。由于数组大小不被作为变量声明的一部分,所以可以在运行时指定数组大小。例如,...

c# 中数组如何赋值?
1、直接赋值: string[] str={"str1","str2","str3"};2、定义数组长度,再赋值: string[] str=new string[3]; str[0]="str1"; str[1]="str2"; str[2]="str3"; 可以在循环里写 for (int i=0;i<3;i++) { str[i]="AAA"; } ...

c# 构造函数中如何给数组赋值
public: A(){ for(int i=0i<10;i++)s[i]=0;\/\/默认构造给数组赋初值为零 } A(int s1[]){ for(int i=0i<10;i++)s[i]=s1[i]; \/\/有参构造给数组赋值。} };

C#给数组赋值
从串口接收过来的数据 我没做过,但是要保存在数组里页不是一个很难的问题。例如:byte[] function(传进来包含二进制数据的参数){ byte[] byt = Null;List<byte> list = new List<byte>();\/\/也可以是其它类型的范型数据,如:List<string> 。for(int i=0; i<二进制数据的长度; i++){ ...

c#中如何给数组赋值?
可以使用for循环:int []pins = {9,3,7,2} int []copy = new int[pins.length];for(int i =0;i!=copy.length;i++){ copy[i] = pins[i];}

请问C#里面数组之间能直接赋值吗
数组是直接可以赋值的。int[] a={0,1,2,3};int[] b;b=a;b=={0,1,2,3};

C#怎么 给数组赋空值 判断数组为空
string[] num = null; \/\/定义数组并赋值空 if (num.Length == 0) \/\/判断数组里是否存在数据 { \/\/如果没有数据,重新赋值 num=new string[ 数组长度];num[0]="123";...}

C#怎样给三行三列的数组赋值?
for(int j=0;j<3;++j){ for(int i=0;i<3;++i){ a[j,i]=1;} } 或者你试下: int[,] a = {{1,1,1},{1,1,1},{1,1,1}};

C#为字符串数组动态赋值的问题
方法一是没有new(没有分配空间)方法二是在new的时候没有指定大小,默认是0个元素,所以对其任意一个元素赋值都是越界.在C#中,数组一般用来存放大小确定的数据.如果数组大小未知,建议使用List<>.List<string> a=new List<string>();a.Add("we");MessageBox.Show(a[0]);同时,你可以用a.ToArray()...

C#byte数组变量赋值问题
把字符串转为数字,再转成16进制,再赋值给data[3]

相似回答