2011-10-19 196 views
-7

從字符串的Arraylist中獲取'n'個隨機字符串。其中n =我想從列表中得到的字符串的數量可以是1,2,3 ......?假設我有N個字符串的數組列表,如果我想選擇隨機四個字符串而不重複。我該怎麼做?代碼應該在C#中。雖然我已經這樣做了,但最好的辦法是什麼?從C#中的字符串列表生成隨機字符串?

+3

您可以在問題中多加一點努力......您所要求的實際上是如何生成一個隨後可用於訪問列表的隨機數? – slugster

+0

不要問你的任務在這裏:)。 – AksharRoop

+0

任何人都可以請我幫助我 – Aditi

回答

1

試試這個:

class Program 
{ 
    static void Main(string[] args) 
    { 
     int myRandomIndex = 0; 
     var myList = new List<string>(new[] { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j" }); 
     var results = new List<string>(); 
     var r = new Random(DateTime.Now.Millisecond); 
     for (int ii = 0; ii < 4; ii++) 
     { 
      myRandomIndex = r.Next(myList.Count); 
      results.Add(myList[myRandomIndex]); 
      myList.RemoveAt(myRandomIndex); 
     } 

     Console.WriteLine(string.Join("", results)); 
     Console.ReadKey(); 
    } 
} 

爲了保持各自選擇串唯一的(​​防止重複)我從源列表中刪除它,因爲它被使用。在使用列表之前,您還應該執行myList = myList.Distinct(),以確保您沒有重複的內容。

+0

嘿,謝謝你。 – Aditi

2

Shuffling @編碼恐怖

+0

它真的是一個編碼恐怖。但我需要一個解決方案。 – Aditi