zoukankan      html  css  js  c++  java
  • 如何在集合中巧用Where来查找相关元素

       在我们的项目中我们经常会查找一些集合中的重要元素,当然我们可以使用常规的foreach循环和if语句来查询,但是我们要学会使用System.Linq命名空间下面的静态类Enumerable下面的静态方法来进行相关查询,public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);其中 Func<TSource, bool> predicate是一个返回bool类型的一个委托,第一个参数是要查询的数据源,比如在下面的代码中:

    if (Layouts.Where(x => x.Layout.UnitToken == itm.UnitToken).Count() == 0) 其中Layouts是ObservableCollection<Models.LayoutInfo>类型的变量 

    public System.Collections.ObjectModel.ObservableCollection<Models.LayoutInfo> Layouts
    {
      get { return _layouts; }
          set
              {
          if (value != _layouts)
          {
            _layouts = value;
            OnPropertyChanged("Layouts");
          }
        }
    }  

    另外还举出其它的类型的例子:

    var config = planConfig.Where(x => x.Product == itm.GetType().FullName).SingleOrDefault() ?? null;如果无法获取到唯一或者默认值则返回null值

    其中 planConfig代表的是一个类的数组,所以数组类型也是可以的。

    还有有时我们会从从某一个集合中查到多个元素,然后获取第一个元素,这个可以用下面的这种方式来进行:

    TaskPools.Where(x => x.TaskEntity.Cancellation.Token == CancellationToken).ToList()[0].TaskEntity;其中TaskPools是一个ObservableCollection<>类型。

  • 相关阅读:
    Jinja2模板引擎简介
    单元测试
    Blueprint属性
    状态保持中的cookie
    异常捕获abort方法
    数据库迁移
    Flask-SQLAlchemy中 ORM 一对多的模型关系定义步骤
    request请求的常用属性
    搜索引擎
    Mark
  • 原文地址:https://www.cnblogs.com/seekdream/p/5051669.html
Copyright © 2011-2022 走看看