我无法理解“ 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);
}
}
}
答案 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