C# - 随机化文本框的行

时间:2014-05-05 20:46:56

标签: c# list random textbox

说我有一个包含以下内容的文本框:

Word
Entry
List
Sentry

每个人都有自己的路线。我如何随机化它们,看起来像这样(按钮点击):

Entry
List
Sentry
Word

或任何随机组合。现在请注意,我导入的一些文件有100,000个单独的行。我需要按钮点击随机。谢谢!

我要做的是彼此相邻有两个多行文本框,用户可以随机化每个列表,然后一个单独的按钮将两个列表组合成一个文件,用冒号(:)分隔。万分感谢!

1 个答案:

答案 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);