• linq


    操作符
    类别
    语义
    示例
    Where
    筛选操作符(Restriction)
    Where(Predicate)
    Dim lowNums = numbers.Where(Function(num) num < 5)
    Select
    投影操作符(Projection)
    Select(匿名函数)
    Dim lowNums = numbers.Select(Function(num) num*num)
    SelectMany
    投影操作符(Projection)
    返回多行结果,用于多表的交叉连接(cross join)
    Dim res = Employees.SelectMany(Function(e) e.Family.Select(Function(c)c.name))
    Skip
    分块操作符(Partitioning)
    跳过前n个元素
    Dim res=data.Skip(4)
    SkipWhile
    分块操作符(Partitioning)
    跳过起始处使条件为真的所有元素
    Dim res=data.SkipWhile(Function(i) i%2 = 0)
    Take
    分块操作符(Partitioning)
    返回开头之处的n个元素
    Dim res=data.Take(3)
    TakeWhile
    分块操作符(Partitioning)
    返回起始处使条件为真的所有元素
    Dim res=data.TakeWhile(Function(i) i%3 = 0)
    Join
    连接操作符
    内连接两个或多个表,仅限于Equals运算符
    from sup in suppliers join cust in customers on sup.Country equals cust.Country
    GroupJoin
    连接操作符
    类似于LEFT OUTER JOIN,右侧集合匹配于左侧集合键值的元素被分组
    From cust In customers Group Join ord In orders On cust.CustomerID Equals ord.CustomerID Into CustomerOrders = Group, OrderTotal = Sum(ord.Total)
    Concate
    合并操作符
    用于连接两个序列
    returnValue = firstSeq.Concat(secondSeq)
    OrderBy
    排序操作符(Ordering)
     
    Dim query As IEnumerable(Of Person) = Persons.OrderBy(Function(p) p.Age)
    OrderByDescending
    排序操作符(Ordering)
       
    ThenBy
    排序操作符(Ordering)
       
    ThenByDescending
    排序操作符(Ordering)
       
    Reverse
    排序操作符(Ordering)
       
    GroupBy
    分组操作符
     
    Dim numbers = {5, 4, 1, 3, 9, 8, 6, 7, 2, 0}
    Dim numberGroups = From num In numbers Group num By remainder5 = (num Mod 5) Into numGroup = Group Select New With {.Remainder = remainder5, .numbers = numGroup}
    Distinct
    集合操作符
    去重复
     
    Union
    集合操作符
    集合并
     
    Intersect
    集合操作符
    集合交
     
    Except
    集合操作符
    集合差
     
    AsEnumerable
    转换操作符
    用于把一个IEnumerable的派生类型转化为IEnumerable类型
     
    AsQueryable
    转换操作符
    IEnumerable(Of T)转化为IQueryable(Of T).
     
    ToArray
    转换操作符
    转换为数组
     
    ToList
    转换操作符
    转换为List
     
    ToDictionary
    转换操作符
    转换为一对一的字典(键-值对的集合)
     
    ToLookup
    转换操作符
    转换为一对多的字典(键-值集的集合)
     
    OfType
    转换操作符
    获取指定类型的元素组成一个数组
    object[] numbers = { null, 1.0, "two", 3, "four", 5, "six", 7.0 };
    var doubles = numbers.OfType<double>();
    Cast
    转换操作符
    把序列的所有元素转换为指定类型
     
    SequenceEqual
    相等操作符
    两个序列的元素依次相同返回真。使用元素所属类的IEqualityComparer(Of T) 泛型界面做相等比较
     
    First
    元素操作符
    返回序列第一个元素(或满足条件第一个元素),没有则异常
     
    FirstOrDefault
    元素操作符
    返回序列第一个元素,没有则返回空或默认值
     
    Last
    元素操作符
    返回序列最后一个元素,没有则异常
     
    LastOrDefault
    元素操作符
    返回序列最后一个元素,没有则返回空或默认值
     
    Single
    元素操作符
    返回序列唯一元素,如果没有元素或多个元素则异常
     
    SingleOrDefault
    元素操作符
    返回序列唯一元素,如果没有元素或多个元素则空或默认值
     
    ElementAt
    元素操作符
    返回序列指定元素,失败则异常
     
    ElementAtOrDefault
    元素操作符
    返回序列指定元素,失败则空或默认值
     
    DefaultIfEmpty
    元素操作符
    返回序列,如果序列为空则返回元素的默认值
    For Each number As Integer In numbers.DefaultIfEmpty()〈br> output.AppendLine(number)
    Next
    All
    序列元素数量操作符
    序列所有元素满足条件则为真
     
    Any
    序列元素数量操作符
    序列有一个元素满足条件则为真
     
    Contains
    序列元素数量操作符
    是否包含一个元素
     
    Count
    统计操作符
    计数,可选一个谓词
    int oddNumbers = numbers.Count(n => n% 2 == 1);
    LongCount
    统计操作符
    计数,返回Int64类型
     
    Sum
    统计操作符
    求和,可选对一个lambda函数表达式
    double totalChars = words.Sum(w => w.Length);
    Min
    统计操作符
    最小值,可选对一个lambda函数表达式
    int shortestWord = words.Min(w => w.Length);
    Max
    统计操作符
       
    Average
    统计操作符
       
    Aggregate
    统计操作符
    参数为一个委托,在序列的每个元素上执行该委托。委托的第一个参数为当前累计值,第二个参数为当前元素,返回值为新的累计值
    Dim reversed As String = words.Aggregate(Function(ByVal current, ByVal word) word & " " & current)
    equals/Equals
    关键字
    用于Join子句
     
    from/From
    关键字
       
    in/In
    关键字
    指出数据源
     
    into/Into
    关键字
    用于Group By子句
     
    key
    关键字
    用于Group By子句的无名类型
     
    let
    关键字
    给表达式定义别名
    From prod In products Let Discount = prod.UnitPrice * 0.1 Where Discount >= 50 Select prod.ProductName, prod.UnitPrice, Discount
    Group
    关键字
    在GroupBy子句的Into中用于辨识分组结果
    From num In numbers Group num By remainder5 = (num Mod 5) Into Group
    Range
    方法
    产生一个整数序列
    From n In Enumerable.Range(100, 50)
    Repeat
    方法
    产生一个整数序列
    From n In Enumerable.Repeat(7, 10)
  • 相关阅读:
    强弱类型 静态语言 动态语言 || 脚本语言
    mysql版本升级问题处理
    word
    IntelliJ IDEA 插件
    dubbo
    spring源码构建
    zookeeper 本地多线程模拟分布式事务控制及配置中心
    一次性关闭所有的Activity
    可能以后用得到得东西
    Thread.sleep还是TimeUnit.SECONDS.sleep
  • 原文地址:https://www.cnblogs.com/mingjing/p/14899915.html
Copyright © 2020-2023  润新知