初始化多朦字符串数组
问题描述:
这里试图用循环初始化一个数组(c#)。行数将根据情况而变化。我需要回到计划初期和周末早些时候计算的两个值。很多使用循环构建int数组的示例,但没有任何可以找到动态字符串和多个暗淡数组的示例。初始化多朦字符串数组
由于
我如何设置为COL1的值在串[,] arrayWeeks =新的字符串[numWeeks中,col1];这更清楚吗?
答
(谢谢你的澄清),你可以做一个多维初始化像这样:
string[,] arrayWeeks = new string[,] { { "1", "2" }, { "3", "4" }, { "5", "6" }, { "7", "8" } };
或者,如果你的数组是锯齿状:
string[][] arrayWeeks = new string[][]
{
new string[] {"1","2","3"},
new string[] {"4","5"},
new string[] {"6","7"},
new string[] {"8"}
};
如果你在一个循环的时候,我猜你想要锯齿。而不是使用值进行初始化,您可能需要调用arrayWeeks[x] = new string[y];
,其中x是要添加的行,y是该行中元素的数量。然后您可以设置每个值:arrayWeeks[x][i] = ...
您正在设置行中第i个元素的位置。你数组的初始宣布将string[][] arrayWeeks = new string[numRows][];
因此,要总结,你可能想要的东西,看起来像这样:
int numRows = 2;
string[][] arrayWeeks = new string[numRows][];
arrayWeeks[0] = new string[2];
arrayWeeks[0][0] = "hi";
arrayWeeks[0][1] = "bye";
arrayWeeks[1] = new string[1];
arrayWeeks[1][0] = "aloha";
但是,很明显,你的循环中。
答
有两种类型的你可能会在C#中调用“多维”数组。有真正的multidimensional arrays:
string[,] array = new string[4, 4];
array[0, 0] = "Hello, world!";
// etc.
也有jagged arrays。一个锯齿形数组,其元素也是数组。锯齿阵列中的“行”可以具有不同的长度。与交错数组一个重要的注意的是,你必须手动初始化“行”:
string[][] array = new string[4][];
for(int i = 0; i < 4; i++) {
array[i] = new string[4];
}
array[0][0] = "Hello, world!";
答
晚的谈话,但这里是一个交错数组例如,当您设置的大小和数据动态:
// rowCount from runtime data
stringArray = new string[rowCount][];
for (int index = 0; index < rowCount; index++)
{
// columnCount from runtime data
stringArray[index] = new string[columnCount];
for (int index2 = 0; index2 < columnCount; index2++)
{
// value from runtime data
stringArray[index][index2] = value;
}
}
你的问题是,到底是什么? – 2010-01-15 14:34:13
'2'标签是什么意思? – Amy 2010-01-15 14:46:19