-2

我是 C# 新手,所以不要因为我的愚蠢而责备我。我正在开发一个应用程序,它应该随机化一个单词并赋予它长度,例如你写一个单词“Line”,它会给你“iLen”。目前我确信只有这部分有效:

    private void lenght_Click(object sender, EventArgs e)
    {
        String word = textBox1.Text;
        int x = word.Length;
        MessageBox.Show(x.ToString());
    }

    private void randomize_Click(object sender, EventArgs e)
    {
        String word = textBox1.Text;
        int x = word.Length;


    }

我尝试了很多,但其中大部分只是使应用程序崩溃,所以目前我想知道 Text.ToCharArray 做了什么,我希望得到额外的支持。所以我只需要一种方法,将你的字符串随机化,它会为你提供另一个带有混合/随机字符的字符串。现在我将把问题留 5 到 7 个小时,以便稍后获得更多答案,我将全部复习并为工作人员提供代表。谢谢你的支持!我已经阅读了您的所有评论,但我迟到了,现在是时候检查所有内容了。

4

2 回答 2

4

Randomize方法(来自另一个SO问题):

public static T[] Randomize<T>(T[] source)
{
    List<T> randomized = new List<T>();
    List<T> original = new List<T>(source);
    Random r = new Random();
    for (int size = original.Count; size > 0; size--)
    {
        int index = r.Next(size);
        randomized.Add(original[index]);
        original[index] = original[size - 1];
    }
    return randomized.ToArray();
}

和用法:

string text = "Line";

string randomized = new string(Randomize(text.ToCharArray()));
于 2013-09-07T13:12:51.103 回答
1
Random rand = new Random();
var output = new string(input.OrderBy(x => rand.Next()).ToArray());
于 2013-09-07T13:15:45.330 回答