C# 如何比较两个字符串值是否相同

C# 如何比较两个字符串值是否相同,c#,arrays,string,C#,Arrays,String,如果数组中的两个字符串值相同,如何比较 例如。 如果有人输入苹果、橘子、香蕉、苹果 我想检查唯一值的数量 这里只有橙色和香蕉是唯一的,因此结果为2。如果您只想计算唯一值,可以使用.Distinct()方法: List<string> fruits = new List<string>{ "Apple", "Orange", "Banana", "Apple"}; int numberOfUniqueFruits = fruits.Distinct().Count();

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

例如。 如果有人输入苹果、橘子、香蕉、苹果 我想检查唯一值的数量


这里只有橙色和香蕉是唯一的,因此结果为2。

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

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

如果要按大小写敏感度进行检查,请删除
.ToUpper()

是否要比较两个字符串,或在数组中查找唯一的字符串?如果数组为:
苹果、橘子、香蕉、橘子、樱桃、橘子、苹果,将返回什么?2.3.4.我想你这里有一个语义错误。你的问题不清楚,你尝试了什么?你的代码在哪里?只有香蕉和樱桃,唯一的项目数量是2。现在我明白你的要求了。这不返回3吗?OP说它应该返回2:,根据问题要求,这个答案是错误的。@RufusL再次阅读问题并测试代码。你得到3 OP想要2Ahh,我明白了,你是对的…添加了代码来解决这个问题,这个答案也是错误的。你得到3,而op要求在评论前检查2请使用op值。或将“xyz”添加到输入中
var uniqueFruits = fruits.Where(n => fruits.Count(f => f == n) == 1).ToList();
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);
    }
}