C#:bool方法在哪里获取值?

时间:2019-03-02 07:44:47

标签: c#-4.0

我无法理解“ EndsWithCheck”从何处获得myList.AddRange(new string[] { "jealous", "happy", "sad" });的值和含义,它以什么格式被添加到myList中?是数组形式还是什么形式?

 class Program
{
    private static bool EndsWithCheck(String word)
    {
        return word.ToLower().EndsWith("ous");
    }
    static void Main(string[] args)
    {
        List<string> myList = new List<string>();
        myList.Add("adventurous");
        myList.Add("fabulous");
        myList.Add("happy");
        myList.AddRange(new string[] { "jealous", "happy", "sad" });
        myList.Insert(3, "melodious");

        Console.WriteLine(myList);
        Console.WriteLine(myList.Find(EndsWithCheck));
        Console.WriteLine(myList.FindLast(EndsWithCheck));
        Console.WriteLine(myList.FindIndex(EndsWithCheck));
        foreach (var item in myList.FindAll(EndsWithCheck))
        {
            Console.WriteLine(item);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

添加范围方法可用于添加实现IEnumerable接口(在您的情况下为数组)的任何集合,并将该集合的所有元素添加到myList集合的末尾。执行AddRange方法后,您的myList集合将具有6个字符串元素。 您的检查方法仅用于验证字符串是否以“ ous”后缀结尾。这是一个Predicate方法,它允许您使用Find()之类的方法过滤集合,也可以传递lambda表达式。

List<T>.Find(Predicate<T>)

将此用作您可以在列表上使用的其他过滤方法的参考:http://www.csharp-examples.net/list/ 官方文档也将非常有用:https://docs.microsoft.com/pl-pl/dotnet/api/system.collections.generic.list-1.find?view=netframework-4.7.2