标签:分享 sed 图片 控制台 adk reac names console 参数
一、说明
委托Predicate 可以有参数(比如下面的示例),也可以不带参数,委托Predicate是返回固定值bool值的委托
二、示例代码(控制台程序)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Learn1
{
class Program
{
static void Main(string[] args)
{
int ageState = 1;
int claState = 1;
int age = 10;
string className = "1班";
List myList = new List() {
new Student(){ age=1, className="2班", name="同学1"},
new Student(){ age=2, className="1班", name="同学2"},
new Student(){ age=12, className="3班", name="同学3"},
new Student(){ age=6, className="3班", name="同学4"},
new Student(){ age=14, className="1班", name="同学5"},
new Student(){ age=18, className="1班", name="同学6"},
new Student(){ age=7, className="1班", name="同学7"},
new Student(){ age=15, className="2班", name="同学8"},
new Student(){ age=19, className="2班", name="同学9"},
new Student(){ age=25, className="1班", name="同学10"},
new Student(){ age=32, className="1班", name="同学11"},
new Student(){ age=16, className="1班", name="同学12"},
new Student(){ age=1, className="2班", name="同学13"}
};
List resultList = myList.FindAll(new Predicate(
delegate(Student stu)
{
bool IsOk = true;
if (ageState==1)
{
if(stu.ageage)
{
IsOk = false;
}
}
if(claState==1)
{
if(stu.className!=className)
{
IsOk = false;
}
}
return IsOk;
}
));
resultList.ForEach(x => {
Console.WriteLine("名称:{0},年龄:{1},班级:{2}",x.name,x.age,x.className);
});
Console.ReadKey();
}
}
public class Student
{
public string name { get; set; }
public string className { get; set; }
public int age { get; set; }
}
}
View Code
c# 委托 Predicate的使用示例
标签:分享 sed 图片 控制台 adk reac names console 参数
原文地址:https://www.cnblogs.com/net064/p/9968972.html