C#在哪里选择
发布时间:2020-12-15 23:28:44 所属栏目:百科 来源:网络整理
导读:有人可以帮助解释以下代码中发生的事情吗?非常感谢!结果是meo,但我不明白这两个’在哪里’在这种情况下是如何工作的. public class Cat { public string Text { get; set; } public Cat Where(FuncCat,bool cond) { return new Cat { Text = cond(this)? t
有人可以帮助解释以下代码中发生的事情吗?非常感谢!结果是meo,但我不明白这两个’在哪里’在这种情况下是如何工作的.
public class Cat { public string Text { get; set; } public Cat Where(Func<Cat,bool> cond) { return new Cat { Text = cond(this)? this.Text.ToUpper(): this.Text.ToLower() }; } } public static class CatExtensions { public static T Select<T>(this Cat cat,Func<Cat,T> proj) { return proj(cat); } } var moggy = new Cat { Text = "Meo" }; var result = from m in moggy where true where false select m.Text; 解决方法
如果查看该表达式的方法链语法版本,则更容易理解:
moggy .Where(m => true) // returns new Cat { Text = "MEO" } .Where(m => false) // returns new Cat { Text = "meo" } .Select(m => m.Text); // returns "meo" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |