zoukankan      html  css  js  c++  java
  • LINQ 101例子

    LINQ - Set Operators
    Distinct去掉重复 Union(合并) Intersect(交集) Except叉集 Concat(连接)

    LINQ - Restriction Operators
    < > == && ||

    LINQ - Query Execution
    i++

    LINQ - Quantifiers
    Any集合中是否有元素满足某一条件 All集合中所有元素是否都满足某一条件
    Contains集合中是否包含有某一元素 Exists是否存在

    LINQ - Projection Operators
    dt.AsEnumerable()可用于linq方法 n.Field<int>(column)

    LINQ - Partitioning Operators
    Take(3)前3个 Skip(4) 跳过前4个 TakeWhile(n => n < 6)不要后面6个 SkipWhile()指定条件跳过

    LINQ - Ordering Operators
    orderby word orderby word.Length orderby d descending倒叙 words.OrderBy()
    words.OrderByDescending() orderby digit.Length, digit
    words.OrderBy(a => a.Length).ThenBy(a => a, new CaseInsensitiveComparer());
    words.OrderBy(a => a.Length).ThenByDescending(a => a, new CaseInsensitiveComparer());
    .Reverse()翻转
    public class CaseInsensitiveComparer : IComparer<string>
    {
    public int Compare(string x, string y)
    {
    return string.Compare(x, y, StringComparison.OrdinalIgnoreCase);
    }
    }

    LINQ - Miscellaneous Operators
    Concat 连接 wordsA.SequenceEqual(wordsB);比较 是否相同

    LINQ - Join Operators
    join cust in customers on new { sup.City, sup.Country } equals new { cust.City, cust.Country
    } into cs

    LINQ - Generation Operators
    var numbers =from n in Enumerable.Range(100, 50) 生成指定范围的整数数列
    var numbers = Enumerable.Repeat(7, 10); 生成重复的序列号

    LINQ - Element Operators
    .First(); First(s => s[0] == 'o'); FirstOrDefault();
    FirstOrDefault(p => p.ProductID == 789); ElementAt(1); 返回索引指定

    LINQ - Custom Sequence Operators
    public static IEnumerable<S> Combine<S>(this IEnumerable<DataRow> first,
    IEnumerable<DataRow> second, System.Func<DataRow, DataRow, S> func)
    {
    using (IEnumerator<DataRow> e1 = first.GetEnumerator(), e2 =
    second.GetEnumerator())
    {
    while (e1.MoveNext() && e2.MoveNext())
    {
    yield return func(e1.Current, e2.Current);
    }
    }
    }

    var numbersA = testDS.Tables["NumbersA"].AsEnumerable();
    var numbersB = testDS.Tables["NumbersB"].AsEnumerable();

    int dotProduct = numbersA.Combine(numbersB, (a, b) => a.Field<int>("number")
    * b.Field<int>("number")).Sum();


    LINQ - Conversion Operators
    ToArray(); ToList(); ToDictionary(sr => sr.Name);
    numbers.OfType<double>(); 根据指定类型筛选

    LINQ - Aggregate Operators
    Max Min SUN 要看的
    LINQ - Grouping Operators

  • 相关阅读:
    Python使用Django创建第一个项目
    如何使用RobotFramework编写好的测试用例
    接口测试 总结(什么是接口测试)
    APP接口测试
    Django基础五之中间件
    Django基础五之django模型层(二)多表操作
    Django基础五之django模型层(一)单表操作
    Django基础四之模板系统
    Django基础三之视图函数
    DJANGO2--url路由
  • 原文地址:https://www.cnblogs.com/jazzka702/p/2832536.html
Copyright © 2011-2022 走看看