主题:GetUpperBound问题!?
代码如下:
using System;
namespace Example_TraverseArray
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class MainTest
{
/// <summary>
/// 使用GetLowerBound|GetUpperBound遍历数组
/// </summary>
public void test1()
{
//定义二维数组
string[,] myStrArr2=new string[,]{{"油","盐"},{"《围城》","《晨露》"},{"毛毛熊","Snoopy"}};
//循环输出
for(int i=myStrArr2.GetLowerBound(0);i<=myStrArr2.GetUpperBound(0);i++)
{
Console.WriteLine("item{0}",i);
for(int j=myStrArr2.GetLowerBound(1);j<=myStrArr2.GetUpperBound(1);j++)
{
Console.WriteLine(" item{0}{1}:{2}",i,j,myStrArr2.GetValue(i,j));
}
}
}
/// <summary>
/// 使用foreach遍历数组
/// </summary>
public void test2()
{
//定义二维数组
string[,] myStrArr2=new string[,]{{"油","盐"},{"《围城》","《晨露》"},{"毛毛熊","Snoopy"}};
//循环输出
foreach(string item in myStrArr2)
{
{
Console.WriteLine("{0}",item);
}
}
}
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
MainTest t=new MainTest();
t.test1();
t.test2();
}
}
}
其中for(int j=myStrArr2.GetLowerBound(1);j<=myStrArr2.GetUpperBound(1);j++)
这一句我有点不明白,GetLowerBound和GetUpperBound分别是获得数组指定维数的上下限,那么这句是不是就可以理解为获得myStrArr2第1维的上限和下限?分别是0,2,而第0维的上下限也都是0和2啊。但我把它改成for(int j=myStrArr2.GetLowerBound(0);j<=myStrArr2.GetUpperBound(0);j++)后提示出错。请问为什么?
using System;
namespace Example_TraverseArray
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class MainTest
{
/// <summary>
/// 使用GetLowerBound|GetUpperBound遍历数组
/// </summary>
public void test1()
{
//定义二维数组
string[,] myStrArr2=new string[,]{{"油","盐"},{"《围城》","《晨露》"},{"毛毛熊","Snoopy"}};
//循环输出
for(int i=myStrArr2.GetLowerBound(0);i<=myStrArr2.GetUpperBound(0);i++)
{
Console.WriteLine("item{0}",i);
for(int j=myStrArr2.GetLowerBound(1);j<=myStrArr2.GetUpperBound(1);j++)
{
Console.WriteLine(" item{0}{1}:{2}",i,j,myStrArr2.GetValue(i,j));
}
}
}
/// <summary>
/// 使用foreach遍历数组
/// </summary>
public void test2()
{
//定义二维数组
string[,] myStrArr2=new string[,]{{"油","盐"},{"《围城》","《晨露》"},{"毛毛熊","Snoopy"}};
//循环输出
foreach(string item in myStrArr2)
{
{
Console.WriteLine("{0}",item);
}
}
}
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
MainTest t=new MainTest();
t.test1();
t.test2();
}
}
}
其中for(int j=myStrArr2.GetLowerBound(1);j<=myStrArr2.GetUpperBound(1);j++)
这一句我有点不明白,GetLowerBound和GetUpperBound分别是获得数组指定维数的上下限,那么这句是不是就可以理解为获得myStrArr2第1维的上限和下限?分别是0,2,而第0维的上下限也都是0和2啊。但我把它改成for(int j=myStrArr2.GetLowerBound(0);j<=myStrArr2.GetUpperBound(0);j++)后提示出错。请问为什么?