• Linq


    The types of LINQ are mentioned below in brief.
     LINQ to Objects
     LINQ to XML(XLINQ)
     LINQ to DataSet
     LINQ to SQL (DLINQ)
     LINQ to Entities
    Apart from the above, there is also a LINQ type named PLINQ which is Microsoft’s parallel LINQ.

    var list = (from e in employees
    join d in departments on e.DepartmentId equals d.DepartmentId
    select new
    {
    EmployeeName = e.EmployeeName,
    DepartmentName = d.Name,
    });


    foreach(var e in list)
    {
    Console.WriteLine("Employee name={0},Department Name={1}",e.EmployeeName,e.DepartmentName);
    }

    List<string> phrases = new List<string> { "an apple a day", "the quick brown fox" };

    var query = from phrase in phrases
    from word in phrase.Split(' ')
    select word;

    foreach(var s in query)
    {
    Console.WriteLine(s);
    }

    Console.ReadLine();

    static void Main(string[] args)
    {
    int[] num = { -20, 12, 6, 10, 0, -3, 1 };

    var posNum = from n in num
    orderby n
    select n;

    Console.WriteLine("Values in ascending order: ");

    foreach(int i in posNum)
    {
    Console.WriteLine(i);
    }

    var posNumsDesc = from n in num
    orderby n descending
    select n;

    Console.WriteLine(" Values in descending order: ");


    foreach(int i in posNumsDesc)
    {
    Console.WriteLine(i);
    }

    Console.ReadLine();
    }

    static void Main(string[] args)
    {
    List<int> numbers = new List<int>() { 35, 44, 200, 84, 3987, 4, 199, 329, 446, 208 };

    IEnumerable<IGrouping<int, int>> query = from num in numbers
    group num by num % 2;

    foreach(var group in query)
    {
    Console.WriteLine(group.Key == 0 ? " Even numbers: " : " Odd numbers: ");

    foreach(var i in group)
    {
    Console.WriteLine(i);
    }
    }

    Console.ReadLine();

    }

    class Program
    {
    static void Main(string[] args)
    {
    Plant[] plants = new Plant[]
    {
    new CarnivorousPlant
    {
    Name="Venus Fly Trap",
    TrapType="Snap Trap"
    },
    new CarnivorousPlant
    {
    Name="Pitcher Plant",
    TrapType="Pitfall Trap"
    },

    new CarnivorousPlant
    {
    Name="Sundew",
    TrapType="Flaypaper Trap"
    },

    new CarnivorousPlant
    {
    Name="WaterWheel Plant",
    TrapType="Snap Trap"
    }
    };

    var query = from CarnivorousPlant cPlant in plants
    where cPlant.TrapType == "Snap Trap"
    select cPlant;

    foreach(var q in query)
    {
    Console.WriteLine("Name={0},Trap Type={1}", q.Name, q.TrapType);
    }


    Console.WriteLine(" Press any key to continue");
    Console.ReadLine();
    }
    }

    class Plant
    {
    public string Name { get; set; }
    }

    class CarnivorousPlant:Plant
    {
    public string TrapType { get; set; }
    }

    class Program
    {
    static void Main(string[] args)
    {
    Pet[] cats = GetCats();
    Pet[] dogs = GetDogs();

    IEnumerable<string> query = cats.Select(cat => cat.Name).Concat(dogs.Select(dog => dog.Name));
    foreach(var e in query)
    {
    Console.WriteLine("Name={0}", e);
    }

    Console.WriteLine(" Press any key to continue");
    Console.ReadLine();
    }

    static Pet[] GetCats()
    {
    Pet[] cats = {new Pet { Name="Barley",Age=8},
    new Pet{Name="Boots",Age=4},
    new Pet{Name="Whiskers",Age=1}};
    return cats;
    }

    static Pet[] GetDogs()
    {
    Pet[] dogs =
    {
    new Pet{Name="Bounder",Age=3},
    new Pet{Name="Snoopy",Age=14},
    new Pet{Name="Fido",Age=9}
    };

    return dogs;
    }
    }

    class Pet
    {
    public string Name { get; set; }
    public int Age { get; set; }
    }

  • 相关阅读:
    【剑指offer】和为S的连续整数序列
    【剑指offer】连续子数组最大和
    【剑指offer】从尾到头打印链表
    【Spark】概述
    【剑指offer】题目20 顺时针打印矩阵
    【剑指offer】题目36 数组中的逆序对
    【C语言】二维数组做形参
    【剑指offer】题目38 数字在排序数组中出现的次数
    SAP 锁对象 基本概念与基本操作 SE11
    线程特定数据TSD总结
  • 原文地址:https://www.cnblogs.com/Fred1987/p/6363857.html
Copyright © 2020-2023  润新知