mm巧克力广告文案:c#如何声明一个二维数组?

来源:百度文库 编辑:高考问答 时间:2024/04/30 00:28:49
c#如何声明一个二维数组?
数组的每一个元素又是一个不定长的字符串。
我的方法
public string shuzhu(int m,int n)
{
string[][] fn = new string[12][];
……
//给每个元素赋值

return fn[m][m];
}

结果引用不成功,c#如何声明一个二维数组?
更正:是return fn[m][n];
初始化使用的是:
fn[0][0]="XXX1";
fn[0][1]="XXX2";
……
fn[11][5]="xxxx";

string[][] fn=new string[12][];
fn[0]=new string[]{...}
fn[1]=new string[]{...}
...
fn[11]=new string[]{...}//这些写了吗
----------------------------------------------------------------------------------------------------------------------
string[][] fn=new string[12][];
这一句只声明了包含12个string类型的一维数组的引用变量的一维数组。c#中数组是对象,必须实例化。
fn[0]=new string[]{...}
fn[1]=new string[]{...}
...
fn[11]=new string[]{...}
这些就是实例化每个string型一维数组。初始化可以写在大括号内。
----------------------------------------------------------------------------------------------------------------------
二维数组是这样的
string[,] fn=new string[m,n]//m,n为常量表达式

呵呵C#中的二维数组
string[ ,]
string[][]是锯齿数组,两者有本质的区别

static void Main(string[] args)
{

int i, j;
int[,] a=new int [10,10]; // 我只取[10][10] 生成的话 说该局部变量未赋值
Console.WriteLine();
for (i = 0; i < 10; i++)
{
a[i,0] = 1;
a[i,i] = 1;

}
for (i = 2; i < 10; i++)
{
for (j = 1; j < i; j++)
a[i, j] = a[(i - 1), (j - 1)] + a[(i - 1), j];
}

for (i = 0; i < 10; i++)
{
for (j = 0; j <= i; j++)
Console.Write("{0,8}", a[i,j]);
Console.WriteLine();
}
Console.ReadLine();