小编给大家分享一下LINQ表达式怎么写,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
LINQ表达式简介
OO(面向对象)以外的疆域:信息的访问与整合。关系数据库与XML为其中的典型应用。
NET Language Integrated Query (LINQ):不采用特定於关系数据库或者XML的专有方案,而采用通用方案来解决各种信息源的访问与整合问题。
在LINQ中,查询成为编程语言的一个组成部分,这使得查询表达式可以得到很好的编译时语法检查,丰富的元数据,智能感知等强类型语言的好处。
初识LINQ表达式
class app { static void Main() { string[] names = { "Burke", "Connor", "Frank", "Everett", "Albert", "George", "Harris", "David" }; IEnumerable<string> query = from s in names where s.Length == 5 orderby s select s.ToUpper(); foreach (string item in query) Console.WriteLine(item); } }
LINQ表达式解析
IEnumerable<string> query = from s in names where s.Length == 5 orderby s select s.ToUpper();
在语义上等同于如下“方法风格(基于方法)的查询”:
IEnumerable<string> query = names .Where(s => s.Length == 5) .OrderBy(s => s) .Select(s => s.ToUpper());
LINQ查询表达式解析
Func<string, bool> filter = delegate (string s) { return s.Length == 5;}; Func<string, string> extract = delegate (string s) { return s; }; Func<string, string> project = delegate (string s) { return s.ToUpper(); }; IEnumerable<string> query = names.Where(filter) .OrderBy(extract) .Select(project);
查询操作符与扩展方法解析
查询操作符是LINQ中的另外一项重要设施,LINQ使用扩展方法来定义查询操作符,例如where操作符:
namespace System.Linq { public static class Enumerable { public static IEnumerable<T> Where<T>( this IEnumerable<T> source, Func<T, bool> predicate) { foreach (T item in source) if (predicate(item)) yield return item; } } }
以上是“LINQ表达式怎么写”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!