C# <;类型>;[,]<;名称>;用C表示法#
我是一个python爱好者,最近开始学习C#,主要是通过我们的教程和我找到的代码片段。我遇到了一个函数(在一个公共类中),其签名如下:C# <;类型>;[,]<;名称>;用C表示法#,c#,syntax,C#,Syntax,我是一个python爱好者,最近开始学习C#,主要是通过我们的教程和我找到的代码片段。我遇到了一个函数(在一个公共类中),其签名如下: private void compute(double[,] data) 我了解那里的一切,除了double[,]数据 它似乎类似于double[]data表示法,意思是“一个doubles数组”。然而,[,]却把我甩了 有人能给我解释一下这个语法表达了什么吗?这是一个二维的双精度数组 所以你可以 double[,] myArray = new double
private void compute(double[,] data)
我了解那里的一切,除了double[,]数据
它似乎类似于double[]data
表示法,意思是“一个double
s数组”。然而,[,]
却把我甩了
有人能给我解释一下这个语法表达了什么吗?这是一个二维的双精度数组
所以你可以
double[,] myArray = new double[4,2];
及
myArray[1,1]=0.3
这意味着一个二维非锯齿阵列。在本例中为双
阵列
基本上,您可以使用两个坐标获取的存储系统。就像一张地图。精神上,你可以这样说:
4 5 6 4
2 3 4 3
2 4 7 2
2 3 4 2
要从中提取项目,请使用以下语法:
double[,] myArr = new double[4,23];
myArr[3,6];
哦我是否可以滥用语法,然后对一个3D双精度数组执行double[,]
?@inspectorG4dget:这根本不是“滥用”—这只是3D数组的语法…zOMG@琼斯基特刚刚回答了我的问题。(很抱歉,这是正常人在Summer Glau high Five击掌时的感受)鉴于@JonSkeet rep,他比这里的任何人都更有可能回答问题;)@基思·尼古拉斯:我在这里已经三年了。这是他第一次回我的信。我认为我文章的主题在很大程度上起了作用(就像我说的,我是个python高手),我知道我可以用n-1
,
s来表示一个n维非锯齿数组。但是对于大的n
,这是很多逗号。是否有相关的速记,可能是10D的double[,10]
?@inspectorG4dget不,没有。这将是非常无用的,因为在获取值时,您仍然需要键入类似于myArray[4,2,3,5,76,2,43]
等的内容。毕竟没有人使用double[,,,,,,,,,,,]
,那么谁在乎速记呢?