C #: где метод bool получает значение? - PullRequest
0 голосов
/ 02 марта 2019

Я не могу понять, откуда "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 голосов
/ 02 марта 2019

Метод добавления диапазона можно использовать для добавления любой коллекции, которая реализует интерфейс IEnumerable (в вашем случае массив), и добавляет все элементы этой коллекции в конец коллекции myList.После выполнения метода AddRange ваша коллекция myList будет иметь 6 строковых элементов.Ваш метод проверки используется только для проверки, заканчивается ли строка суффиксом 'ous'.Это метод Predicate, который позволяет вам фильтровать коллекцию с помощью таких методов, как Find (), вы также можете передавать лямбда-выражение.

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

Используйте это как ссылку для других методов фильтрации, которые вы можете использовать в List: 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...