簡體   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