关于C#数组的上界和下界问题

using System;using System.Collections.Generic;using System.Text;namespace 数组的界{ class Program { public static void CreateArrayWithBounds() { int[] lengthsArray = new int[2] { 3, 5 }; int[] boundsArray = new int[2] { 2, 3 }; Array multiDimensionalArray = Array.CreateInstance(typeof(String), lengthsArray, boundsArray); Console.WriteLine("Bounds:尀tLower尀tUpper"); for (int i = 0; i < multiDimensionalArray.Rank; i++) { Console.WriteLine("{0}:尀t{1}尀t{2}", i, multiDimensionalArray.GetLowerBound(i), multiDimensionalArray.GetUpperBound(i)); } } static void Main(string[] args) { Program.CreateArrayWithBounds(); Console.Read(); } }}为啥输出的是那个东西的呢?能具体的说下吗还有为啥我们不能输出multiDimensionalArray数组呢?他不是个被创建出来的数组吗~~~~
2026年09月26日 18:26
有2个网友回答
网友(1):

你这个数组,本来就是创建出来的啊, 这段程序就是教你,如何创建一个多维的,指定最低下标和长度的数组啊。

int[] lengthsArray = new int[2] { 3, 5 };
int[] boundsArray = new int[2] { 2, 3 };
Array multiDimensionalArray = Array.CreateInstance(typeof(String), lengthsArray, boundsArray);

这段代码本来就是要创建一个二维数组。
第一维 下标从 2 开始,长度为 3。
第二维 下标从 3 开始,长度为 5。

for (int i = 0; i < multiDimensionalArray.Rank; i++)
{
Console.WriteLine("{0}:\t{1}\t{2}", i, multiDimensionalArray.GetLowerBound(i), multiDimensionalArray.GetUpperBound(i));
}

这段代码输入multiDimensionalArray数组的所有维的最小下标和最大下标。
所以:
第一维的最小下标是 2,最大下标是 4
第二维的最小下标是 3,最大下票是 7

网友(2):

HTML,CSS,C#基本概念都懂