【发布时间】:2016-07-25 12:09:05
【问题描述】:
我有一个 C# 程序,需要将 12 个名称分成 3 组,每组 4 个,共 6 次,然后将它们转储到 CSV 文件中。它使用textbox 将用户输入放入数组并显示在datagrid 中。然后程序读取名称并将它们放入一个 CSV 文件中,并将它们显示到另一个 datagrid 中。下面的代码只对 3 组 4 做一次,它们是按照用户输入的顺序排列的。如何在 3 组 4 组中再获得 5 组随机(或至少有些随机)名称?
public void des()
{
for (int x = 0; x < 7; x++)
{
//for (int o = 0; o < desArayPlayers.Length; o++)
{
int playersCount = 0;
int k = 0;
for (int i = 1; i < 4; i++)
{
switch (i)
{
case 1:
k = 0;
break;
case 2:
k = 4;
break;
case 3:
k = 8;
break;
default:
break;
}
for (int j = k; j < k + 4; j++)
{
sortingGroupsArayPlayers[playersCount] = "Group " + i.ToString() + " " + arayPlayers[j];
//MessageBox.Show(desArayPlayers[playersCount]);
playersCount++;
}
}
}
}
}
【问题讨论】:
-
排序或随机划分??
-
参见stackoverflow.com/questions/1287567/… 了解如何生成随机序列。然后分成 3*4 组。
-
for (int x = 0; x < 7; x++)将循环 7 次而不是 6 次 -
您希望如何存储组 - 作为数组/数组列表/数组列表/4 个名称的列表,还是作为数组/数组列表/4 个名称的列表? (嗯,这听起来有点混乱......也许更高级别的类包装器会更好)
标签: c# arrays wpf csv datagrid