C# 获取数组中出现次数为4次的元素

C# 获取数组中出现次数为4次的元素,c#,arrays,linq,C#,Arrays,Linq,我有一个字符串数组,我想找到数组中出现次数为4次或4次以上的元素 我的代码 internal static void ProcessArray(string[] numArray) { string response = string.Empty; var duplicates = (numArray .GroupBy(e => e)

我有一个字符串数组,我想找到数组中出现次数为4次或4次以上的元素

我的代码

internal static void ProcessArray(string[] numArray)
        {
            string response = string.Empty;

            var duplicates = (numArray
                        .GroupBy(e => e)
                        .Where(e => e.Count() >= 4)
                        .Select(e => e.First())).ToList();
//do some further business logic
    }
所以duplicate应该返回一个包含元素的字符串列表

我在下面的方法中调用它

Public static string GetDuplicates()
{

 string[] s = new new string[]{" 1","1","2","2","2","1","3,"2","1" }
 string result = ProcessArray(s);
return result
}
它只返回列表中的2,正确的结果应该是列表中的1,2

var values = new string [] { "1", "1", "2", "2", "2", "1", "3", "2", "1" };
var groups = values.GroupBy(i => i).Select(i => new { Number = i.Key, Count = i.Count() });
foreach(var item in groups)
{
 if(item.Count == 4)
 {
    Console.WriteLine(item.Number);
 }
}

请把它作为方法和输入的一部分而不是一部分放在一起。你的第一个1有空格。使用Trim截断它,或者如果您只使用integer,则使用Array将输入解析为int。ConvertAll@JonSkeet我已经改正了你没有提供答案。我可以复制/粘贴/编译/运行您的代码并查看错误的结果吗?不…信不信由你,不是我;-我发表评论并不意味着我投了反对票或赞成票-@CodeNotFound我不是指你!很抱歉