c#创建2维数组

author author     2023-04-05     769

关键词:

我要创建个不定二维数组,数组的大小由我动态勒传递~!

C#中使用类型加方括号,并在方括号中加空格来定义多维数组,以int类型为例,定义2维数组方式为:
int[,] arr = new int[10,10];
示例定义了一个2维数组并初始化为10行10列的数组。

MSDN对C#多维数组有如下说明:
多维数组
数组可以具有多个维度。例如,下列声明创建一个四行两列的二维数组。
int[,] array = new int[4, 2];
下列声明创建一个三维(4、2 和 3)数组。
int[, ,] array1 = new int[4, 2, 3];
数组初始化
可以在声明数组时将其初始化,如下例所示。
// Two-dimensional array.
int[,] array2D = new int[,] 1, 2 , 3, 4 , 5, 6 , 7, 8 ;
// The same array with dimensions specified.
int[,] array2Da = new int[4, 2] 1, 2 , 3, 4 , 5, 6 , 7, 8 ;
// A similar array with string elements.
string[,] array2Db = new string[3, 2] "one", "two" , "three", "four" ,
"five", "six" ;

// Three-dimensional array.
int[, ,] array3D = new int[,,] 1, 2, 3 , 4, 5, 6 ,
7, 8, 9 , 10, 11, 12 ;
// The same array with dimensions specified.
int[, ,] array3Da = new int[2, 2, 3] 1, 2, 3 , 4, 5, 6 ,
7, 8, 9 , 10, 11, 12 ;

// Accessing array elements.
System.Console.WriteLine(array2D[0, 0]);
System.Console.WriteLine(array2D[0, 1]);
System.Console.WriteLine(array2D[1, 0]);
System.Console.WriteLine(array2D[1, 1]);
System.Console.WriteLine(array2D[3, 0]);
System.Console.WriteLine(array2Db[1, 0]);
System.Console.WriteLine(array3Da[1, 0, 1]);
System.Console.WriteLine(array3D[1, 1, 2]);

// Getting the total count of elements or the length of a given dimension.
var allLength = array3D.Length;
var total = 1;
for (int i = 0; i < array3D.Rank; i++)
total *= array3D.GetLength(i);

System.Console.WriteLine("0 equals 1", allLength, total);

// Output:
// 1
// 2
// 3
// 4
// 7
// three
// 8
// 12
// 12 equals 12

也可以初始化数组但不指定级别。
int[,] array4 = 1, 2 , 3, 4 , 5, 6 , 7, 8 ;
如果选择声明一个数组变量但不将其初始化,必须使用 new 运算符将一个数组分配给此变量。以下示例显示 new 的用法。
int[,] array5;
array5 = new int[,] 1, 2 , 3, 4 , 5, 6 , 7, 8 ; // OK
//array5 = 1,2, 3,4, 5,6, 7,8; // Error

以下示例将值分配给特定的数组元素。
array5[2, 1] = 25;

同样,下面的示例获取特定数组元素的值,并将它赋给变量elementValue。
int elementValue = array5[2, 1];

以下代码示例将数组元素初始化为默认值(交错数组除外):
int[,] array6 = new int[10, 10];
参考技术A 定义数组的时候,可以动态分配内存,一旦分配内存以后,就不能再改变大小了。
int x = 10;
int y = 10;
int[,] s = new int[x.y];
这样就定义了一个10*10的二维数组
当然,x,y的值你可以自己定义。
参考技术B int[,] arr = new int[4, 5];

下面的地址你可以参考 http://zhidao.baidu.com/link?url=7cQ7SXavf6i_l_Ni5Xym_0rMxZWtOmsDPB_J9tbIX50Soie9mW9bQF_wX0p9Ku5JdtGAhJCcKOMaAyGbQAu3VK

使用 LINQ (C#) 对 n 维数组进行数组操作

】使用LINQ(C#)对n维数组进行数组操作【英文标题】:Arrayoperationswithn-dimensionalarrayusingLINQ(C#)【发布时间】:2011-11-1105:55:56【问题描述】:假设我们有一个锯齿状数组int[][]a=new[]1,2,3,4,new[]5,6,7,8,new[]9,10,11,12;要得到第二行和第二列的... 查看详情

vector创建2维数组

以前我要建立一个二维数组,总是使用 intN=5,M=6; vector<vector<int>>Matrix(N); for(inti=0;i<Matrix.size();i++){   Matrix[i].resize(M); } 上面多写了三行,就是为了指定Matrix的烈数。&nb 查看详情

c#中如何把图片转化为2维数组

以下是测试代码和验证结果:static void Main( params string[] args )    Bitmap img = new Bitmap( @"E:\\tempfolder\\testimage.bmp" );   // 导入一张RGB彩色图片  &n... 查看详情

如何从填充零的 3 维 numpy 数组创建 4 维 numpy 数组?

】如何从填充零的3维numpy数组创建4维numpy数组?【英文标题】:Howtocreatea4dimensionalnumpyarrayfroma3dimensionalnumpyarrayfillingwithzeros?【发布时间】:2021-03-0512:45:23【问题描述】:问题创建一个高维NumPy数组,在新维度上使用零详情分析最... 查看详情

c#编程(维数组)----------位数组

位数组如果需要处理很多位,就可以使用BitArray类和BitVector32.BitArray位于命名空间System.Collections中.BitVector32位于命名空间System.Collections.Speciallized. BitArray类类BitArray是一个引用引用类型,包含一个int数组,没32位使用一个新整数.和bo... 查看详情

C# 2D 数组匹配并返回 1 维

】C#2D数组匹配并返回1维【英文标题】:C#2DArrayMatchandReturn1Dimension【发布时间】:2021-08-1218:53:28【问题描述】:我有一个[Name,Code]格式的二维字符串数组,其中Code是一个大写字母。我想根据“代码”的匹配返回数组中的所有“名... 查看详情

c#中如何获取一个二维数组的两维长度,即行数和列数?以及多维数组各个维度的长度?

如何获取二维数组中的元素个数呢?int[,]array=newint[,]{{1,2,3},{4,5,6},{7,8,9}};//定义一个3行3列的二维数组introw=array.Rank;//获取维数,这里指行数intcol=array.GetLength(1);//获取指定维度中的元素个数,这里也就是列数了。(0是第一维,1表... 查看详情

怎样在matlab中创建空的n维数组?

在MATLAB中创建空的N维数组的方法,如下参考:1.打开matlab,在命令窗口中输入zero(2,3),如下图所示。2.按下enter键后,可以看到创建了一个包含2行和3列的二维数组。3.在命令行窗口中输入ones(3,4),如下图所示。4.按下enter键后,您... 查看详情

java中的二维数组怎样创建?

...组给数组,这样数据类型就符合了.参考技术Ajava与c#的数组创建略有区别java有两种创建方法一、int[]a;\\声明一个int数组aa=newint[4][4];\\创建一个规则的二维数组a[0]=newint[4];a[0][0]=0;...a[0]][3]=3;二、int[][]a=newint[4][4];a[0][0]=0;... 查看详情

python创建一维数组二维数组和n维数组(代码片段)

Python创建一维数组、二维数组和N维数组我们已经很熟悉在C++上创建一维二维数组了,那么如何在Python上创建二维数组呢>>>A=[0]*3>>>B=[[0]*2]*3这样就可以得到我们的一维数组和二维数组了,我们可以... 查看详情

unity3d在屏幕范围内随机生成一个圆

...包含一个由行和列构成的二维数组。2.利用标准数组函数创建多维数组A=zeros(4,3,2)生成一个4行3列2页的三维全0数组,ones,rand和randn等函数有相似的用法。3.利用直接索引方式生成多维数组A=zeros(2,3)A(:,:,2)=ones(2,3)A(:,:,3)=4上面的代码... 查看详情

C# Linq 2 维列表过滤器

】C#Linq2维列表过滤器【英文标题】:C#Linq2DimensionalListFilter【发布时间】:2021-10-2900:54:09【问题描述】:编辑-感谢@Monofuse:List<List<int>>list1,list2,list2_flattened=list2.SelectMany(x=>x).ToList();//1dlistlist1=list1.Select(x=>x 查看详情

c#中如何使用safearray安全数组

....cElements=2;//一维数组的元素数pSA=SafeArrayCreate(VT_R8,1,aDim);//创建类型为DOUBLE的数组ASSERT(pSA);longaLong[1];for(unsignedlongl=aDim[0].lLbound;l<(aDim[0].lLbound+aDim[0].cElements);l++)DOUBLEvTmp;vTmp=0.2*l;aLong[0]=l;SafeArrayPutElement(pSA,aLong,&vTmp);//插入元素将Safe... 查看详情

在 C# 中展平数组 [重复]

...om/questions/5721360/…虽然我怀疑这是最有效的做法,但我会创建一个扩展函数来为我做这件事。它将 查看详情

数组列表数组的C#排列?

...4:13:45【问题描述】:我有一个ArrayList[]myList,我正在尝试创建一个包含数组中所有值排列的列表。示例:(所有值都是字符串)myList[0]="1","5","3","9";myList[1]="2","3";myList[2]="93";myList的计数可以变化,因此 查看详情

在按钮 Click (C#) 上创建一个带有随机数的数组

】在按钮Click(C#)上创建一个带有随机数的数组【英文标题】:CreatinganarraywithrandomnumbersonbuttonClick(C#)【发布时间】:2020-01-1611:07:06【问题描述】:啊..我是初学者。我想不出一种方法可以在单击按钮时生成随机数数组。再次单击应... 查看详情

如何在 C# 中从二维矩形字符数组的一行创建字符串?

】如何在C#中从二维矩形字符数组的一行创建字符串?【英文标题】:HowdoIcreateastringfromonerowofatwodimensionalrectangularcharacterarrayinC#?【发布时间】:2010-09-1616:37:48【问题描述】:我有一个二维数组,如下所示:char[,]str=newchar[2,50];现... 查看详情

C#:如何将多个字符串拆分为二维数组?

...时间】:2022-01-0521:29:27【问题描述】:我想根据用户输入创建一个矩阵,其中每一行都是从一串数字除以空格创建的。(一开始用户输入矩阵的大小)。示例输入:1464进入9852进入0361进入输出将是:array[1,1]=1array[1,2]=4...array[2,1]=9... 查看详情