繁体   English   中英

C#选择随机字符串

[英]C# picking random string

我基本上只是想在字符串中选择一个随机值,并用“ |”分隔。 我找不到一个好的例子,有人有想法吗?

string[] mystrings = ("apple|orange|mayo|fruit|dog"):

string blah = "here i am "+resultsofrandom+" result chosen from mystring was " resultofrandom

显然,字符串等等只是一个例子,我只想从mystrings中随机选择一个字符串,然后重新转换为新字符串...

string[] mystrings = "apple|orange|mayo|fruit|dog".Split('|');
Random rnd = new Random();
string blah1 = mystrings[rnd.Next(mystrings.Length)];
string blah2 = mystrings[rnd.Next(mystrings.Length)];
string sentence = "here i am " + blah1 + " result chosen from mystring was " + blah2 

您可以通过拆分字符串来完成此操作:

string[] mystrings = "apple|orange|mayo|fruit|dog".Split('|');

然后使用Random类选择以下字符串之一:

int choice = new Random().Next(mystrings.Length);

现在,您可以将其放在一起:

string blah = "Your selection is: " + mystrings[choice];
Random rnd= new Random();
        int baseZeroArrayLen = 0;
        string[] mystrings = ("apple|orange|mayo|fruit|dog").Split('|');
        baseZeroArrayLen = mystrings.Length - 1; 
        int randomNumber = rnd.Next(baseZeroArrayLen);
        string rndString = mystrings[randomNumber];
var mystrings = ("apple|orange|mayo|fruit|dog").Split('|');
string blah = "here i am " + mystrings[new Random().Next(0, mystrings.Length)] + " result chosen..";

我认为它将按预期工作

应该这样做:

string[] mystrings = ("apple|orange|mayo|fruit|dog").Split('|');
        Random randomInt = new Random();
            string blah = mystrings[randomInt.Next(mystrings.Length)];

使用String.Split()分割定界的字符串,并将每个单独的值存储在字符串数组中。 然后随机选择该数组的索引并显示相应的字符串。

完全不需要的LINQ替代方案。 虽然string.Format在这里可能不错。

string[] mystrings = "apple|orange|mayo|fruit|dog".Split('|');

string blah = string.Format("here i am {0} result chosen from mystring was {0}",
               mystrings.Skip(new Random().Next(mystrings.Length)).First());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM