📌  相关文章
📜  C#|如何获取列表中与指定条件匹配的元素的最后一次出现(1)

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

C# | 如何获取列表中与指定条件匹配的元素的最后一次出现

在C#中,获取列表中与指定条件匹配的元素的最后一次出现可以使用LINQ查询语句和LastOrDefault方法来实现。LastOrDefault方法返回的是满足条件的最后一个元素,如果没有满足条件的元素则返回null。下面是示例代码:

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

public class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
        int target = 6;

        int? lastMatch = numbers.LastOrDefault(n => n == target);

        if (lastMatch != null)
        {
            Console.WriteLine("The last element matching the target is {0}", lastMatch);
        }
        else
        {
            Console.WriteLine("No element matching the target was found");
        }
    }
}

在上面的示例代码中,我们定义了一个整数列表numbers和一个目标值target,然后通过LINQ查询语句和LastOrDefault方法获取了与目标值匹配的最后一个元素。最后,我们利用Console.WriteLine方法将结果输出到控制台。

如果想要获取列表中与条件匹配的所有元素的最后一个出现,可以先使用Where方法过滤出满足条件的元素,然后再使用LastOrDefault方法获取最后一个元素。示例代码如下:

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

public class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
        int target = 6;

        int? lastMatch = numbers.Where(n => n == target).LastOrDefault();

        if (lastMatch != null)
        {
            Console.WriteLine("The last element matching the target is {0}", lastMatch);
        }
        else
        {
            Console.WriteLine("No element matching the target was found");
        }
    }
}

在上面的示例代码中,我们先使用Where方法过滤出满足条件的元素,然后再使用LastOrDefault方法获取满足条件的最后一个元素。最后,我们利用Console.WriteLine方法将结果输出到控制台。

以上就是如何在C#中获取列表中与指定条件匹配的元素的最后一次出现的方法。