📜  c# Intersectcase insensitive - C# (1)

📅  最后修改于: 2023-12-03 15:13:49.151000             🧑  作者: Mango

C# Intersect (case-insensitive)

在C#中,Intersect()方法可以用来比较两个集合的交集,但是默认情况下是大小写敏感的。如果我们想要在不区分大小写的情况下找到两个集合的交集,该怎么办呢?

下面是一个实现不区分大小写的Intersect()方法的例子:

using System;
using System.Collections.Generic;
using System.Linq;

public class Program
{
    public static void Main()
    {
        List<string> list1 = new List<string> { "apple", "banana", "Orange", "Grapes" };
        List<string> list2 = new List<string> { "APPLE", "ORANGE", "lime", "grapes" };

        var result = list1.Intersect(list2, StringComparer.OrdinalIgnoreCase);

        foreach (string str in result)
        {
            Console.WriteLine(str);
        }
    }
}

在这个例子中,我们使用了一个名为StringComparer.OrdinalIgnoreCase的字符串比较器,该比较器不区分字符的大小写。将该比较器作为参数传递给Intersect()方法,即可实现不区分大小写的交集查找。

输出结果如下:

apple
Orange
Grapes

如上所述,我们使用了StringComparer.OrdinalIgnoreCase字符串比较器来实现不区分大小写的交集查找。但是,需要注意的是,该方法仅适用于字符串类型。对于其他类型的集合,您需要使用自定义比较器来实现不区分大小写的交集查找。

希望这篇介绍对你有所帮助!