LINQ & Generic Basic

来源:互联网 发布:秀才不出门便知天下事 编辑:程序博客网 时间:2024/05/18 20:31

The Quick sample to show the basic LINQ. easier to operate an Array

using System;using System.Linq;using System.Collections.Generic;public class Class1{    public static void Main()    {        //Original Array        int[] values = { 2, 5, 7, 3, 9, 8, 4, 6 };        Display(values, "Original array");        // Filtered Array        var filtered = from v in values                       where v > 5                       select v;        Display(filtered,"The Element great than 5");        //Sorted Array(ASC)        var sorted = from v in values                     orderby v                     select v;        Display(sorted,"The Sorted array is:");        //Sorted Array(DESC)        var DESCSorted = from v in values                         orderby v descending                         select v;        Display(DESCSorted,"The DESC Sorted array is:");    }    public static void Display(IEnumerable<int> results, string header)    {        Console.WriteLine(header);        foreach (var r in results)        {            Console.Write("{0},",r);              }        Console.WriteLine();        Console.WriteLine("********************");    }}
Output Result:



Display方法使用了 IEnumerable<T> 作为参数, 因为数组经过LInq处理以后 就不再是Array了,变成了一个集合(如: filtered,sorted。。)

但是 因为Array 和 各种集合(Collection) 都实现了 IEnumerable<T>的接口,例如List, ArrayList。。。

Foreach用于对集合中的所有元素进行迭代

************************************************************************************************************************************************************************************

LINQ 进行查询的基础: 变换大小写 消除重复 排序 开始字母。。。。。

using System;using System.Collections.Generic;using System.Linq;public class Class1{    public static void Main()    {        Console.WriteLine("Please input a sentence:");        string sentence = Console.ReadLine().ToString();        List<string> _listItems = new List<string> { };        string[] items = sentence.Split(' '); // only can split the char type, can not be string type        foreach (var i in items)        {            _listItems.Add(i);        }        Display(_listItems);        // Convert all string to upper word & get the start with I        var operatered = from i in _listItems                         let upperstring = i.ToUpper()                         where upperstring.StartsWith("I")                         orderby upperstring                         select upperstring;        Display(operatered);        //Convert the string to Lower & remove repeated words        var operatered1 = (from i in _listItems                          let lowerstring = i.ToLower()                          orderby lowerstring                           select lowerstring).Distinct();        Display(operatered1);    }    public static void Display(IEnumerable<string> items)    {        Console.WriteLine();        foreach (var i in items)        {            Console.Write("{0} ", i);        }    }}
Output:

***************************************************************************************************************************************************************************************


原创粉丝点击