您的位置:首页 > 其它

Linq:Select使用示例

2014-12-13 21:42 495 查看

一,select简单使用

          select作用:select在一个集合序列按照给定的条件进行投影,select可以返回组合的筛选结果,返回匿名类型,对返回结果进行操作,返回组合的子查询结果等等。

              

             select方法的原型如下:

public static IEnumerable<TResult> Select<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, TResult> selector)


         对于select方法的示例:

//select
//1,返回数据源类型的属性
//	from s in T_StuInfo where s.StuNum=="1"
//				select s.StuName

//2,返回数据源类型筛选后的结果
//	from s in T_StuInfo where s.StuNum=="1"
//				select s

//3,新类型
//	from s in T_StuInfo where s.StuNum=="1"
//		select new T_StuInfo {StuNum=s.StuName}

//4,返回匿名类型
//	from s in T_StuInfo where s.StuName=="1"
//		select new{name= s.StuName}

/,5,对返回结果进行操作
//		from s in T_StuInfo where s.StuNum=="1"
//			select s.ToString()
//


           对于语句,我们可以在linq pad里面转换成lambda表达式,如下:



    









二,selectMany使用

           selectMany方法方法可以去除for二重循环的判断select,非常好用。

        

          示例如下:

         

///SelectMany
//SelectMany原型:
//////public static IEnumerable<TResult> SelectMany<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, IEnumerable<TResult>> selector)
//string实现了IEnumerable<T>接口,可以构造这样的场景:查询组成学生姓名的所有字符序列。
//	from s in T_StuInfo
//		from name in s.StuName
//			select name

//			T_StuInfo.SelectMany(s=>s.StuName,(s,name)=>name)


          小结:

               linq语句简化了查询,而且将查询的过程变得可调试,非常方便。

               
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: