C#-随机化Linq项目

C#-随机化Linq项目,c#,linq,C#,Linq,我将如何随机化linq项目 var words = new[] { "a", "b", "c", "d" }; richTextBox1.AppendText(Environment.NewLine + words); 其中有(Environment.NewLine+words) 我想随机化一下单词是什么。例如,这些可以是输出: bcad、ac、da、cab、abb、 例如。您可以使用此命令获取随机顺序 Random rand =new Random()

我将如何随机化linq项目

            var words = new[] { "a", "b", "c", "d" };
        richTextBox1.AppendText(Environment.NewLine + words);
其中有
(Environment.NewLine+words)
我想随机化一下单词是什么。例如,这些可以是输出:

bcad、ac、da、cab、abb、


例如。

您可以使用此命令获取随机顺序

Random rand =new Random();
words.OrderBy(x => rand.Next()).ToArray()
对于删除,你需要弄清楚你自己。看起来您也希望重复,但这应该可以让您开始

这将需要从0到4的最高级别

words.OrderBy(x =>rand.Next()).Take(rand.Next(0,4)).ToArray()

您可以执行以下操作:

var newWords = new List<string>();
while(Random.Range(0,someProbability) != 0){
    newWords.Add(words[Random.Range(0,words.Length)]);
}
words = newWords.ToArray();
var newWords=newlist();
while(Random.Range(0,someProbability)!=0){
newWords.Add(单词[Random.Range(0,words.Length)]);
}
单词=新词。ToArray();

其中某些概率决定了新词的可能长度。

生成随机词的简单方法是:

public static string RandomString(int length)
{
    const string chars = "abcdefghijklmnopqrstuvwxyz";
    var random = new Random(Guid.NewGuid().GetHashCode());
    return new string(
        Enumerable.Repeat(chars, length)
        .Select(s => s[random.Next(s.Length)]).ToArray());
}

您正在尝试找出字母表的可能组合。搜索它,你可能会有很多想法。我在Range'Random上得到一个错误,它不包含Range'My bad的定义。我把Unity API和系统搞混了。添加行
Random rand=new Random()到顶部,然后将
Random.Range
替换为
rand.Next
应该可以。谢谢,这样更好:)