我正在尝试定义数组的内容。下面显示了实现我想要的方法的一个简化示例。
有更好的方法吗?这似乎是一种相当困惑的方式来实现我认为应该很容易完成的事情。我可以使用列表吗?或者数据库可以工作吗(我对如何使用数据库一无所知,但觉得这是他们擅长的事情)。
提前致谢
for (int i = 0; i < NumberOfBoxes; i++)
{
BoxName[0] = "Blue box";
if (i == 1) { break; }
BoxName[1] = "Red box";
if (i == 2) { break; }
BoxName[2] = "Yellow box";
if (i == 3) { break; }
BoxName[3] = "Green box";
if (i == 4) { break; }
BoxName[4] = "White box";
if (i == 5) { break; }
BoxName[5] = "Black box";
if (i == 6) { break; }
}
我真正想做的就是使用这段代码:
BoxName[0] = "Blue box";
BoxName[1] = "Red box";
BoxName[2] = "Yellow box";
BoxName[3] = "Green box";
BoxName[4] = "White box";
BoxName[5] = "Black box";
如果只有 4 个框,那么编译器就会神奇地知道忽略 BoxName[4] 和 BoxName[5],而不是像当前那样抛出错误。
最佳答案
您可以尝试使用Linq:
// All possible boxes
String[] possibleBoxes = new String[] {
"Blue box",
"Red box",
"Yellow box",
"Green box",
"White box",
"Black box"
};
int numberOfBoxes = 4; // Or 6 or 3...
String[] BoxName = possibleBoxes.Take(numberOfBoxes).ToArray();
关于c# - 定义数组内容的更优雅的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20855898/