2013-11-23 70 views
0

我是C#的新手,我想在我的字符串列表中进行随机播放,因此没有值被输入两次,所有值都被混洗。 到目前为止,我有这样的代码C#随机播放字符串列表

private List<string> myCards = List<string> 
{ 
    "AC", "AS", "AD", "AH", 
    "2C", "2S", "2D", "2H", 
    "3C", "3S", "3D", "3H", 
    "4C", "4S", "4D", "4H", 
    "5C", "5S", "5D", "5H", 
    "6C", "6S", "6D", "6H", 
    "7C", "7S", "7D", "7H", 
    "8C", "8S", "8D", "8H", 
    "9C", "9S", "9D", "9H", 
    "10C", "10S", "10D", "10H", 
    "KC", "KS", "KD", "KH", 
    "QC", "QS", "QD", "QH", 
    "JC", "JS", "JD", "JH" 
}; 

干杯

+0

你需要做一些研究(例如搜索)。然后编写一些代码,并在出现特定问题时回来 –

+0

到目前为止,您的代码仅仅是一个列表...不够好,不能提问。 – MarcinJuraszek

+0

又名:你没有代码。这就像在考试中写下你的名字,并希望你的老师为你分级。它实际上需要1行,+ - 20个字符做你想做的。谷歌,它已经被回答了很多。 –

回答

1

你想删除重复和洗牌?

从的NuGet *,进口ExtendedRandomSystem.Linq安装Extended Random,则:

ExtendedRandom.Random.Shuffle(myCards.Distinct()) 

*我认为NuGet包

1

你可以做一些简单的像命令他们随意使用LINQ的维护者。

var shuffled = myCards.Distinct().OrderBy(x => System.Guid.NewGuid().ToString()).ToList(); 

作为一种方法实现它也很简单。

public List<string> Shuffle(List<string> items) 
{ 
    return items.Distinct().OrderBy(x => System.Guid.NewGuid().ToString()).ToList(); 
}