加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读