说我有一个包含以下内容的文本框:
Word
Entry
List
Sentry
每个人都有自己的路线。我如何随机化它们,看起来像这样(按钮点击):
Entry
List
Sentry
Word
或任何随机组合。现在请注意,我导入的一些文件有100,000个单独的行。我需要按钮点击随机。谢谢!
我要做的是彼此相邻有两个多行文本框,用户可以随机化每个列表,然后一个单独的按钮将两个列表组合成一个文件,用冒号(:)分隔。万分感谢!
答案 0 :(得分:0)
而不是"随机化",思考" Shuffle":
void Shuffle<T>(IList<T> items)
{
// creating a new object here for demo purposes
// Really, the same object should be re-used across method calls
var random = new Random();
for (int i = items.Count; i > 1; i--)
{
// Pick random element to swap.
int j = random.Next(i); // 0 <= j <= i-1
// Swap.
T tmp = items[j];
items[j] = items[i - 1];
items[i - 1] = tmp;
}
}
Windows窗体文本框有一个有用的Lines
属性,使其易于使用:
string[] lines = MyTextBox.Lines;
Shuffle(lines);