c#中的运算符用于Func
发布时间:2020-12-16 02:02:49 所属栏目:百科 来源:网络整理
导读:我需要比较两个相同类型的实例. public class Person{ public int Age {get;set;} public string Name { get;set;} public static bool operator (Person p1,Person p2) { return p1.Age p2.Age; } public static bool operator (Person p1,Person p2) { ret
我需要比较两个相同类型的实例.
public class Person { public int Age {get;set;} public string Name { get;set;} public static bool operator < (Person p1,Person p2) { return p1.Age < p2.Age; } public static bool operator > (Person p1,Person p2) { return p1.Age > p2.Age; } } 现在在Main我有代码: Person o = new Person() { Age = 10,Name = "Matin" }; Func<Person,bool> test = person => person < o; Person o2 = new Person() { Age = 9,Name = "hehe" }; Console.WriteLine(test(o2)); 输出:true; 解决方法
你的代码:
Func<Person,bool> test = person => person < o; 所以你要传递这个人并将其与第一个人(o)进行比较. test(o2) 转变为 evaluate `o2 < o` 这是真的,如o2.Age< o.Age(9 <10). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |