c# list.contains 能否自定义比较逻辑

c#
590
2024/9/4 15:30:55
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

是的,在C#中,您可以使用List<T>.Exists()方法或List<T>.FindIndex()方法来自定义比较逻辑。这两个方法都接受一个谓词(Predicate)委托,该委托定义了如何比较列表中的元素。

以下是一个示例,说明如何使用Exists()方法自定义比较逻辑:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

        // 自定义比较逻辑:检查列表中是否存在偶数
        bool existsEvenNumber = numbers.Exists(x => x % 2 == 0);

        Console.WriteLine("Exists even number in the list: " + existsEvenNumber);
    }
}

以下是一个使用FindIndex()方法自定义比较逻辑的示例:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

        // 自定义比较逻辑:找到第一个偶数的索引
        int indexOfFirstEvenNumber = numbers.FindIndex(x => x % 2 == 0);

        Console.WriteLine("Index of first even number in the list: " + indexOfFirstEvenNumber);
    }
}

在这两个示例中,我们使用了lambda表达式来定义比较逻辑。您也可以使用普通的匿名方法或命名方法作为谓词。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: C#中Neo4j的索引优化策略