一:
现在又如下数组:
string[] greeting = { "hello word", "hello linq", "hello C#", "hello C# and linq" };
查询此数组中以linq结尾的字符串
/// <summary> /// linq查询数组 /// </summary> private void HelloWord() { string[] greeting = { "hello word", "hello linq", "hello C#", "hello C# and linq" }; var items = from s in greeting where s.EndsWith("linq") select s; foreach (var item in items) { Console.WriteLine(item); } Console.ReadKey(); }
运行结果为
hello linq
hello C# and linq
二:经常调用一个字符串数组的时候,有时候需要将其每个字符转换为int再进行处理
具体示例如下:
//经常调用一个字符串数组的时候,有时候需要将其每个字符转换为int再进行处理, //将字符串数组转换为int数组 private static void linqStringToInt() { string[] str = { "01", "022", "02" }; //转换整形 var items = str.Select(s => Int32.Parse(s)).ToArray(); //转换整形后排序 var item1 = str.Select(s => Int32.Parse(s)).OrderBy(s => s).ToArray(); foreach (var item in item1) { Console.WriteLine(item * 2); } Console.ReadKey(); }
运行结果为:2、4、44
三:cast的用法
/// <summary> /// //linq cast 将以前版本的集合转换为IEnumerable<T> /// </summary> private static void LinqCast() { //首先创建一个以前版本的集合 ArrayList arraylist = new ArrayList(); //原本希望在这里初始化,但是这个初始化功能不支持以前的版本 arraylist.Add("111"); arraylist.Add("222333"); arraylist.Add("333333333"); IEnumerable<string> lists = arraylist.Cast<string>().Where(n => n.Length < 8); foreach (string list in lists) { Console.WriteLine(list); } Console.ReadKey(); }
运行结果为:111,222333
四:OfType的用法
/// <summary> /// //linq OfType 将以前版本的集合转换为IEnumerable<T> /// </summary> private static void linqOfType() { //首先创建一个以前版本的集合 ArrayList arraylist = new ArrayList(); //原本希望在这里初始化,但是这个初始化功能不支持以前的版本 arraylist.Add("111"); arraylist.Add("222333"); arraylist.Add("333333333"); IEnumerable<string> lists = arraylist.OfType<string>().Where(n => n.Length < 8); foreach (string list in lists) { Console.WriteLine(list); } Console.ReadKey(); }
运行结果:111、222333