Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将7个单词相互比较,看其中5个是否相等。怎么用?_C#_String_Random_Compare - Fatal编程技术网

C# 将7个单词相互比较,看其中5个是否相等。怎么用?

C# 将7个单词相互比较,看其中5个是否相等。怎么用?,c#,string,random,compare,C#,String,Random,Compare,我在数组中有七个单词: string[7] = {x,x,x,x,x,x,x}; x是从另一个数组生成的: string[4]={a,b,c,d}; 这意味着每个x可以是a或b或c或d。它是随机生成的。这可以是一个例子: string[7]= {a,a,d,a,a,c,a} 我的问题是如何检查是否有五个x具有相同的值 这是我正在开发的扑克应用程序 您可以使用Linq查找最大数量的相等项目,并测试是否为5个或更多: int maxCount = s.GroupBy(x => x).Se

我在数组中有七个单词:

string[7] = {x,x,x,x,x,x,x};
x是从另一个数组生成的:

string[4]={a,b,c,d};
这意味着每个x可以是a或b或c或d。它是随机生成的。这可以是一个例子:

string[7]= {a,a,d,a,a,c,a}
我的问题是如何检查是否有五个x具有相同的值


这是我正在开发的扑克应用程序

您可以使用Linq查找最大数量的相等项目,并测试是否为5个或更多:

int maxCount = s.GroupBy(x => x).Select(x => x.Count()).Max();

您可以将类似的项目分组,并在任何有五个或更多项目的组中找到它

from word in new [] { "a", "a", "a", "b", "a", "a", "b" }
group word by word into wordGroup
where wordGroup.Count() >= 5
select wordGroup.Key

您可以这样做:

    List<string> values = new List<string> {"a", "a", "d","a", "a", "c", "a"};

    int count = values.FindAll(id => id == "a").Count();
List values=新列表{“a”、“a”、“d”、“a”、“a”、“c”、“a”};
int count=values.FindAll(id=>id==“a”).count();

对数组进行排序,然后确定如果有五个或更多相同的值,中间值就是其中之一。数一数有多少:

Array.Sort(words);
int cnt = 0;
Array.ForEach(words, s => { if (s == words[3]) cnt++; });

这只会找出“a”值的数量。记住,他在寻找5个匹配的值,但这些值可以是任何值。