[英]Need Help Creating a 2D Array in C#
我正在C#中创建一个二维数组,但我的行和列无法对齐。 我正在尝试将数据分成六行五列。 星期一要与12、10、17、22对齐。 然后星期二与11,12,17,22对齐。 这将继续坐着。 这是表格的示例。
这是我到目前为止构建的代码。
class Zumba
{
public static void main()
{
Zumba table = new Zumba();
int[,] zumValues = table.ZumbaValues;
string[] zumForm = new string[6] { "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat" };
for (int z = 0; z < zumForm.GetLength(0); z++)
{
Console.Write("{0}", zumForm[z]);
for (int r = 0; r < zumValues.GetLength(0); r++)
{
for (int c = 0; c < zumValues.GetLength(1); c++)
Console.Write("\t" + "{1,2,3,4,5,6}" + "\t", zumValues[r, c]);
}
Console.WriteLine();
}
Console.ReadLine();
}
private int[,] zumba = new int[6, 4] { { 12, 10, 17, 22 },
{ 11, 13, 17, 22 },
{ 12, 10, 22, 22 },
{ 9, 14, 17, 22 },
{ 12, 10, 21, 12 },
{ 12, 10, 5, 10 } };
public int[,] ZumbaValues
{
get
{
return zumba;
}
set
{
zumba = value;
}
}
}
您有一个2-dimensional array
,还有3个for-loop
。 同样, "{1,2,3,4,5,6}"
也不是有效的字符串格式。
public static void Main()
{
Zumba table = new Zumba();
int[,] zumValues = table.ZumbaValues;
string[] zumForm = new string[6] { "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat" };
for (int day = 0; day < zumForm.Length; day++)
{
Console.Write(zumForm[day]);
for (int time = 0; time < zumValues.GetLength(1); time++)
Console.Write("\t{0}", zumValues[day, time]);
Console.WriteLine();
}
}
这应该起作用;
Program table = new Program();
int[,] zumValues = table.ZumbaValues;
string[] zumForm = new string[6] { "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat" };
for (int z = 0; z < zumForm.Length; z++)
{
var Nums = "";
for (var t = 0; t < 4; t++)
Nums = Nums + table.zumba[z, t].ToString() + " ";
Console.Write("{0} {1}", zumForm[z],Nums);
Console.WriteLine();
}
Console.ReadLine();
我看到你有3个循环,而你只需要2个循环,一个用于行,一个用于列。 此外,您不需要{1,2,3,4,5,6},因为您正在骑自行车,并且只需要一个参数{0}
这是我认为您需要的:
static public void Main()
{
Zumba table = new Zumba();
int[,] zumValues = table.ZumbaValues;
string[] zumForm = new string[6] { "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat" };
for (int z = 0; z < zumForm.GetLength(0); z++)
{
Console.Write("{0}", zumForm[z]);
for (int c = 0; c < 4; c++)
Console.Write("\t"+"{0}"+"\t",zumValues[z, c]);
Console.Write("\n");
}
Console.ReadLine();
}
这是一个可行的简单解决方案:
public static void Main()
{
Zumba table = new Zumba();
int[,] zumValues = table.ZumbaValues;
string[] zumForm = new string[6] { "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat" };
int r = 0;
while (r < zumValues.GetLength(0))
{
//Write the day
Console.Write("{0}", zumForm[r]);
//right the zumba values
for (int c = 0; c < zumValues.GetLength(1); c++)
Console.Write("\t" + zumValues[r, c] + "\t");
//new Line
Console.Write("\n");
r++;
}
Console.ReadLine();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.