C#⼆维数组初始化的⽅法与⽰例
namespace TriangleCalc
{
class Program
{
static void Main(string[] args)
{
int[][] dataArry = new int[5][];
dataArry[0]=new int[1];
dataArry[0][0]=7;
dataArry[1]=new int[2];
dataArry[1][0]=3;dataArry[1][1]=8;
dataArry[2]=new int[3];
dataArry[2][0]=8;dataArry[2][1]=1;dataArry[2][2]=0;
dataArry[3]=new int[4];
dataArry[3][0]=2;dataArry[3][1]=7;dataArry[3][2]=4;dataArry[3][3]=4;
dataArry[4]=new int[5];
dataArry[4][0]=4;dataArry[4][1]=5;dataArry[4][2]=2;dataArry[4][3]=6;dataArry[4][4]=6;
for (int i=0;i<dataArry.Length;i++)
{
int[] line=dataArry[i];
for (int j=0;j<line.Length;j++)
{
Console.Write("{0},",line[j]);
}
Console.WriteLine();
}
}
}
}
C#⼆维数组初始化的⽅法与⽰例
www.sowsoy/topics-549.html
来⾃: 时间:2017-12-29 阅读:1226次
C#⼆维数组定义并初始化语法结构
变量类型[,]数组名 = new 变量类型[⼀维元素个数,⼆维元素个数]{{元素00,元素01,元素02...},{元素10,元素11,元素12...}...}如定义⼀个⼆维数组(第⼀纬长度为2,第⼆纬长度为3)并初始化:
int[,] a2=new int[,]{{1,2,3},{4,5,6}};
C#数组简介
---------------------------------------
// 定义⼀个⼀维数组
int[] array1 = new int[5];
// 定义⼀个⼀维数组并赋值
int[] array2 = new int[] { 1, 3, 5, 7, 9 };
// 替代语法
int[] array3 = { 1, 2, 3, 4, 5, 6 };
// 定义⼀个⼆维数组
int[,] multiDimensionalArray1 = new int[2, 3];
// 定义⼆维数组并赋值: 注意两个数组的个数要
int[,] multiDimensionalArray2 = { { 1, 2, 3 },{ 4, 5, 6} };
// 定⼀⼀个交错数组
int[][] jaggedArray =int[][] jaggedArray = new int[6][];
// 可定义可变长度的数
jaggedArray[0] = new int[4] { 1, 2, 3, 4 };
jaggedArray[1] = new int[] { 1, 2, 3 };
-----------------------------------------
数组具有以下属性:
数组可以是⼀维、多维或交错的。
数值数组元素的默认值设置为零,⽽引⽤元素的默认值设置为 null。
交错数组是数组的数组,因此,它的元素是引⽤类型,初始化为 null。
数组的索引从零开始:具有 n 个元素的数组的索引是从 0 到 n-1。
数组元素可以是任何类型,包括数组类型。
数组类型是从抽象基类型 Array 派⽣的引⽤类型。由于此类型实现了 IEnumerable 和 IEnumerable<(Of <(T>)>),因此可以对 C# 中的所有数组使⽤ foreach 迭代。
C#⼆维数组的两种初始化⽅法
⽅法1:假设⼀个初始长度,在对数组添加元素的时候,你都需要对数组做边界检查,如果数组尺⼨不够了,你需要创建⼀个新的数组,然后复制原来的数组到新的数组。
⽅法2:初始化第⼀维长度为0,在每次插⼊新的原始的时候,都复制⼀个新的数组,使它的长度等于原来数组长度+1,这⾥假定第⼆维是不变的。
1、打印⼀个[4,6]长度的⼆维数组:
using System;
class Matrix
{
static void Main()
{
int[,] arr=new int[4,6];
for(int i=0;i<4;i++)
{
for(int j=0;j<6;j++)
{
arr[i,j]=(i+1)*10+j+1;
}
}
for(int i=0;i<4;i++)
{
for(int j=0;j<6;j++)
{
Console.Write("{0} ",arr[i,j]);
}
Console.WriteLine();
}
}
}
2、⼆维数组给Datatable赋值
[STAThread]
static void Main(string[] args)
{
string [,] arrStr={
{"1","No1"},
{"2","No2"},
{"3","No3"},
{"4","No4"}
};
DataTable dtTable = new DataTable("testdt");
DataColumn myDataColumn;
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Col1";
myDataColumn.Caption = "Col1";
dtTable.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Col2";
myDataColumn.Caption = "Col2";
一维数组的定义和初始化dtTable.Columns.Add(myDataColumn);
//赋值
for (int i=0;i<4;i++)
{
DataRow drRow = dtTable.NewRow();
for (int j=0;j<2;j++)
{
Console.Write("{0}、",arrStr[i,j]);
drRow[j] = arrStr[i,j];
}
dtTable.Rows.Add(drRow);
dtTable.AcceptChanges();
Console.WriteLine();
}
//读数据
for (int i=0;i<dtTable.Rows.Count;i++)
{
for (int j=0;j<dtTable.Columns.Count;j++)
{
Console.Write("{0}、",dtTable.Rows[i][j]);
}
Console.WriteLine();
}
Console.ReadLine();
}
⼆维数组的初始化的⽅法
1、分⾏初绐化
int a[2][5]={{1,3,5,7,9},{2,4,6,8,10}};
这种赋值⽅法⽐较直观,把第⼀个花括号内的数据给第⼀⾏的元素,第⼆个花括号内的数据给第⼆⾏的元素,
2、不分⾏初始化
可以将所有数据写在⼀个花括号内,按数组排列的顺序对个元素赋初值。如:int a[2][5]={1,3,5,7,9,2,4,6,8,10};
3、部分初始化
int a[2][5]={{1,3,5},{2,4,6}};
其余元素值⾃动为0。赋初值后数组各元素为:
1 3 5 0 0
2 4 6 0 0
4、省略⾏数
对数组中的全体元素都赋初值时,⼆维数组的定义中第⼀维的长度也可以省略,但⼆维的长度不能省略。如:
int a[2][3]={1,3,5,7,9,11};
等价于:int a[][3]={1,3,5,7,9,11};
但不能写成:int a[2][]={1,3,5,7,9,11};
在分⾏初始化时,由于给出的初值已清楚的表明了⾏数和各⾏中元素的个数,因此第⼀维的⼤⼩可以不定义。如:int b[][3]={{1},{0,2},{3,2,1}};显然这是⼀个三⾏三列的数组,其各元素的值为:
1 0 0
0 2 0
3 2 1
⼆维数组中的数据是按⾏形式存放在内存中。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论