在下菜鸟,只能低分求助,如有帮助者感激不尽!
对于List<T>.find 方法: static void Main(string[] args)
{
List <Employee> empList = new List <Employee> ();
empList.Add(new Employee( "Name1 ", "CEO "));
empList.Add(new Employee( "Name2 ", "CTO "));
empList.Add(new Employee( "Name3 ", "CFO "));
empList.Add(new Employee( "Name4 ", "COO "));
empList.Add(new Employee( "Name5 ", "CEO ")); Console.WriteLine(empList.Find(FindOne));
Console.ReadLine();
} public static bool FindOne(Employee e) //#1
{
if (e.Position == "COO ") return true;
else return false;
}
如果红色部分是个动态的值,find方法又如何使用?最好不用全局变量。
对于List<T>.find 方法: static void Main(string[] args)
{
List <Employee> empList = new List <Employee> ();
empList.Add(new Employee( "Name1 ", "CEO "));
empList.Add(new Employee( "Name2 ", "CTO "));
empList.Add(new Employee( "Name3 ", "CFO "));
empList.Add(new Employee( "Name4 ", "COO "));
empList.Add(new Employee( "Name5 ", "CEO ")); Console.WriteLine(empList.Find(FindOne));
Console.ReadLine();
} public static bool FindOne(Employee e) //#1
{
if (e.Position == "COO ") return true;
else return false;
}
如果红色部分是个动态的值,find方法又如何使用?最好不用全局变量。
empList.Find()函数返回的是一个Employee类型的对象。很好用的。
PS:
public static bool FindOne(Employee e) //#1
{
//if (e.Position == "COO ") return true;
//else return false;
return e.Position == "COO ";//不就行了?
}
{
List<Employee> empList = new List<Employee>();
empList.Add(new Employee("Name1 ", "CEO"));
empList.Add(new Employee("Name2 ", "CTO"));
empList.Add(new Employee("Name3 ", "CFO"));
empList.Add(new Employee("Name4 ", "COO"));
empList.Add(new Employee("Name5 ", "CEO")); List<Employee> list = FindEmployeeByPos(empList,"CEO"); Console.WriteLine(list.Count);
Console.ReadLine();
}
public static List<Employee> FindEmployeeByPos(List<Employee> list,string postion)
{
List<Employee> returnList = new List<Employee>();
for (int i = 0; i < list.Count;i++ )
{
if (list[i].Position==postion)
{
returnList.Add(list[i]);
}
}
return returnList;
}
不知道这个是不是你要的。
我也很想通过这种方法实现,但find方法没有提供两个参数的重载啊,无法编译通过。