LIST.FindIndex(predicate<T> match)的参数问题
List.FindIndex(predicate<T> match)的参数是怎么写啊?这个看不懂。。。
谁能帮我
//删除一个教师记录
public static void Delete()
{
//根据工号查询,是否存在该记录,如不存在则提示,存在则删除
teacherID = Console.ReadLine(); //输入工号
//根据teacherID查询集合类 1.foreach遍历整个集合 2.List<T>类提供的FindIndex方法
int index1 = teacherList.FindIndex(teacherID);//----错误:参数不正确
if (index1 = (-1))
{
Console.WriteLine("没有此工号!");
}
else
{
teacherList.RemoveAt(index1);
}
上面代码FindIndex参数怎么写呢?
好心人,帮帮忙吧!
------解决方案--------------------teacherList的定义呢?
predicate<T>这样的泛型委托一般采用lambda表达式的形式来表示,形式是
i => i == teacherID
这里假定
var teacherList = new List<string>();
------解决方案--------------------predicate是个delegate,定义为:
public delegate bool Predicate<T> (T obj)
只要是个函数,或者匿名函数,符合上面的声明即可。
下面是msdn中List.FindIndex的例子,来自:
http://msdn.microsoft.com/zh-cn/library/x1xzf2ca(v=vs.80).aspx
using System;
using System.Collections.Generic;
public class Example
{
public static void Main()
{
List<string> dinosaurs = new List<string>();
dinosaurs.Add("Compsognathus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Oviraptor");
&