在向大家详细介绍Linq查询二维数组之前,首先让大家了解下二维数组无法直接转换为IEnumerable
创新互联是一家集成都做网站、成都网站建设、网站页面设计、网站优化SEO优化为一体的专业网站建设公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。
Linq查询二维数组
以下代码为在一个4*4的二维int数组中将大于5的元素查出:
- static void Main( string [] args)
- {
- int [,] array = new int [4, 4];
- for ( int i = 0; i < 4; i++)
- for ( int j = 0; j < 4; j++)
- array[i, j] = (i + 1) * (j + 1);
- var intQuery = from i in array.Cast< int >()
- where i > 5
- select i;
- foreach ( int i in intQuery)
- Console.WriteLine(i);
- }
由于二维数组无法直接转换为IEnumerable
Enumerable. Cast< TResult > () 泛型方法 将 IEnumerable 的元素转换为指定的类型。
此方法通过使用延迟执行实现。即时返回值为一个对象,该对象存储执行操作所需的所有信息。只有通过直接调用对象的 GetEnumerator 方法或使用 Visual C# 中的 foreach (或 Visual Basic 中的 For Each )来枚举该对象时,才执行此方法表示的查询。
Cast< TResult>() (IEnumerable) 方法通过提供必要的类型信息,可在非泛型集合上调用标准查询运算符。例如,ArrayList 并不实现 IEnumerable< T> ( ) ,但通过调用 ArrayList 对象上的 Cast< TResult> ( ) (IEnumerable) ,就可以使用标准查询运算符查询该序列。
如果元素无法强制转换为 TResult 类型,则此方法将引发异常。若要只获取可以强制转换为 TResult 类型的元素,请使用 OfType< TResult> () 方法,而不是 Cast< TResult> ( ) (IEnumerable) 。
在查询表达式中,显式类型迭代变量会转换为 Cast< TResult> ( ) (IEnumerable) 的一个调用。以上介绍Linq查询二维数组。
【编辑推荐】
分享文章:Linq查询二维数组浅析
网页地址:http://www.csdahua.cn/qtweb/news31/555781.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网