首先我们来看一段java的代码
public class Untitled1


{
public static void main(String args[])

{

int [][] arr1=
{
{1,2},
{3,4},
{5,6},
{7,8}};
for(int i=0;i<arr1.length;i++)

{
for(int j=0;j<arr1[i].length;j++)

{
System.out.println(arr1[i][j]);
}
}
}
}
代码很简单,遍历了二维数组的元素并进行打印。
下面我们试试C#的代码
C#中二维数组的定义方法为[,],数组声明如下

int [,] arr1=
{
{1,2},
{3,4},
{5,6},
{7,8}};
我在获取数组的长度时发现了问题
arr1.Length获得的长度是8,而arr1[i].Length的定义不存在。
因为数组都是从Array类继承下来,我在MSDN查了Array类
发现了几个有趣的属性
Rank
受 .NET Framework 精简版的支持。
|
获取 Array 的秩(维数)。 |
我把代码改成了这样
static void Main(string[] args)

{

int [,] arr1=
{
{1,2},
{3,4},
{5,6},
{7,8}};

for(int i=0;i<arr1.GetUpperBound(0)-arr1.GetLowerBound(0)+1;i++)

{
for(int j=0;j<arr1.GetUpperBound(1)-arr1.GetLowerBound(1)+1;j++)

{
Console.WriteLine(arr1[i,j]);
}
}
Console.Read();
}
完成了以上的功能。代码似乎有些麻烦,我们用交错数组来试试
int [][] arr1=new int [][]

{

new int[]
{1,2},

new int[]
{3,4},

new int[]
{5,6},

new int[]
{7,8,9}
};
for(int i=0;i<arr1.Length;i++)

{
for(int j=0;j<arr1[i].Length;j++)

{
Console.WriteLine(arr1[i][j]);
}
}
Console.Read();
哈哈,同样可以达到目的。而且我可以使用长度不同的数组。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构