本文主要是介绍LINQ简记(2):重要概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
string[] arrSource = new string[]
{
"turn", "sou", "tao", "mar", "ate", "leee", "data", "em"
};
2、创建查询,我们来写一个LINQ表达式,把上面字符串数组中包含字母“t ”的都筛选出来。
IEnumerable<string> result =
from s in arrSource
where s.Contains("t")
select s;
3、执行查询,把结果输出到“输出窗口”中。
// 执行
Debug.WriteLine("\n包含“t”的字符串有:");
foreach (string item in result)
{
Debug.Write(" " + item);
}
运行一下程序,你会看到以下结果。
包含“t”的字符串有:
turn tao ate data
呵呵,怎么样?找到感觉了没?不要紧张,再练一个。
1、数据源。
int[] mySource = new int[] { 26, 38, 17, 21, 55, 88, 120, 107, 67, 18, 29, 30 };
2、创建查询。把里面的偶数筛选出来。
IEnumerable<int> resInt =
from n in mySource
where n % 2 == 0
select n;
3、执行查询。
Debug.WriteLine("数组中是偶数的:");
foreach (int nn in resInt)
{
Debug.Write(" " + nn.ToString());
}
最终,我们得到以下结果。
数组中是偶数的:
26 38 88 120 18 30
二、延迟执行。
你一定会问,LINQ表达式是在什么时候执行呢?在声明查询变量时,还是在foreach循环中?好,我们一起来探索一下。
LINQ一般是延迟执行,也就是说,到了foreach的时候才被执行,如果要强制执行,可以调用ToArray等方法,如。
int[] newValues = resInt.ToArray();
这个,很难通过断点调试去证实,因为当你在单步跟入时,为了预览结果视图,VS已经提前执行了。因此,这个概念我们参阅一下MSDN就可以了,也不属于很重要的内容,重要的我们知道怎么用它。
下面这张图片来自微软官方文档,它展示了LINQ的整个执行过程。
![](http://hi.csdn.net/attachment/201201/9/0_13261160000l37.gif)
这篇关于LINQ简记(2):重要概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!