在C#Windows phone 7中随机播放字符串列表

我已经到处看看如何在C#中为Windows Phone 7随机播放/随机化一个字符串列表。我仍然是一个初学者,你可以这么说这可能是我的联盟,但我正在写一个简单的应用程序,这是它的基础。 我有一个字符串列表,我需要随机播放并输出到文本块。 我查了一些代码,但我知道我错了。 有什么建议?

Fisher-Yates-Durstenfeld shuffle是一种易于实施的成熟技术。 这是一个扩展方法,它将在任何IList上执行就地随机播放。

(如果你决定要保持原始列表的完整性并返回一个新的洗牌列表,或者对IEnumerable序列 ,LINQ进行操作,那么应该很容易适应。)

 var list = new List { "the", "quick", "brown", "fox" }; list.ShuffleInPlace(); // ... public static class ListExtensions { public static void ShuffleInPlace(this IList source) { source.ShuffleInPlace(new Random()); } public static void ShuffleInPlace(this IList 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; } } }