如何使用foreach循环比较字符串中的两个元素并显示重复次数最多的值?
class Program
{
static void Main(string[] args)
{
string[] values = { "Facebook", "Google", "Facebook" };
foreach (var value in values)
{
// need to comparing the elements in the array
Console.WriteLine(value); /* print the repeated value*/
}
}
}
使用LINQ 可以很容易地做到这一点
var mostRepeatedValue = values
.GroupBy(v => v)
.OrderByDescending(gp => gp.Count())
.Select(g => g.Key).FirstOrDefault();
您可以尝试以下代码
Dictionary<string, int> stringOccurDict = new Dictionary<string, int>();
string[] values = { "Facebook", "Google", "Facebook" };
foreach(string x in values)
{
if (!stringOccurDict .ContainsKey(x))
stringOccur.Add(x, values.Count(c => values.Contains(c)));
});
string repeatedString = stringOccur.Where(x => x.Value == stringOccur.Values.Max()).FirstOrDefault().Key;
输出
Facebook
您也可以使用.Value
获取计数