如何比较2个字符串值是否相同

时间:2015-01-05 07:41:06

标签: c# arrays string

如果数组中的2个字符串值相同,我如何比较?

例如 如果有人输入Apple, Orange, Banana, Apple 我想检查唯一值的数量。

只有Orange和Banana在这里是独一无二的,所以结果将是2。

2 个答案:

答案 0 :(得分:2)

如果您只想计算唯一值,可以使用.Distinct()方法:

List<string> fruits = new List<string>{ "Apple", "Orange", "Banana", "Apple"};
int numberOfUniqueFruits = fruits.Distinct().Count();

要获取仅出现一次的项目,您可以获得那些.Count()== 1:

var uniqueFruits = fruits.Where(n => fruits.Count(f => f == n) == 1).ToList();

答案 1 :(得分:0)

using System;
using System.Linq;

public class Program
{
    public static void Main()
    {
        var x = new string[]
        {
            "Apple",
            "Orange",
            "Banana",
            "Apple"
        };

        var i = x.GroupBy(c => c.ToUpper()).Select(c => new {c, count = c.Count()}).Count(c => c.count == 1);

        Console.WriteLine(i);
    }
}

如果您想要区分大小写,请删除.ToUpper()