我已經到處尋找如何在C#中爲Windows Phone 7打亂/隨機化一個字符串列表。我仍然是一個初學者,你可以這樣說,所以這可能是我的出路聯盟,但我正在寫一個簡單的應用程序,這是它的基礎。我有我需要洗牌並輸出到文本塊的字符串列表。我查閱了一些代碼,但我知道我錯了。有什麼建議麼?C#中的字符串清單在Windows Phone 7
0
A
回答
3
Fisher-Yates-Durstenfeld shuffle是一種易於實施的成熟技術。這是一個擴展方法,可以在任何IList<T>
上執行就地洗牌。
(這應該很容易,如果你決定要離開原來的清單完整,並返回一個新的洗牌列表,而不是,或act on IEnumerable<T>
sequences,點菜LINQ適應。)
var list = new List<string> { "the", "quick", "brown", "fox" };
list.ShuffleInPlace();
// ...
public static class ListExtensions
{
public static void ShuffleInPlace<T>(this IList<T> source)
{
source.ShuffleInPlace(new Random());
}
public static void ShuffleInPlace<T>(this IList<T> source, Random rng)
{
if (source == null) throw new ArgumentNullException("source");
if (rng == null) throw new ArgumentNullException("rng");
for (int i = 0; i < source.Count - 1; i++)
{
int j = rng.Next(i, source.Count);
T temp = source[j];
source[j] = source[i];
source[i] = temp;
}
}
}
相關問題
- 1. Windows Phone 7的文件清單IsolatedStorage
- 2. 在Windows Phone 7(C#)
- 3. 使用查詢字符串來獲取參數c#windows phone 7
- 4. 無法在Windows Phone 7中解析字符串DateTime
- 5. Windows Phone中的XAML字符串格式
- 6. 如何解析Windows Phone 7中的xml字符串?
- 7. 不能在Windows Phone的本地化字符串7
- 8. 在一個字符串數組導入XML - Windows Phone 7的
- 9. 獲得在C#中的Windows Phone 7
- 10. 在windows phone 7中
- 11. Windows Phone 7 SDK C或C++
- 12. 如何將字符串轉換爲JSON在C#中的Windows Phone
- 13. 使用Windows Phone 7中的待辦事項清單
- 14. 在windows phone 7中使用C dll
- 15. Xml串行器Windows Phone 7
- 16. AppResources中的C#/ Windows Phone轉義字符
- 17. LongListSelector中的Windows Phone 7或Windows Phone 8
- 18. 如何在Windows Phone中輸入大寫字符串TextBox Wpf c#
- 19. 使用C#和Windows Phone 7
- 20. Windows Phone 7 - iCal Generator - C#
- 21. 在windows phone 7模擬器中打字
- 22. Windows Phone 7的
- 23. c#windows phone 7中的列表框
- 24. 在Windows Phone上解壓縮字符串
- 25. 如何檢查Windows Phone 7中的字符串數組中是否存在字符串?
- 26. Windows Phone 7中的列表框菜單
- 27. Windows Phone 7下載純HTML作爲字符串?
- 28. Windows Phone 7將資源字符串值設置爲.xml
- 29. Windows Phone 7不讀荷蘭本地化字符串
- 30. ProgressBar在Windows Phone 7中?
HTTP: //stackoverflow.com/search?q=%5Bc%23%5D+shuffle – dtb 2011-04-07 23:21:44
如果你不需要隨機混排,一個簡單的選擇是返回「strings.OrderBy(s => s.GetHashCode() );」 ;) – 2011-04-07 23:43:01
可能重複的[C#:是使用隨機和OrderBy一個很好的洗牌算法?](http://stackoverflow.com/questions/1287567/c-is-using-random-and-orderby-a-good-shuffle -algorithm) – Jon 2011-04-08 00:49:16