using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
//迭代在查询定义的时候不会进行,而是在执行每个foreach语句时执行
//每次迭代中使用查询时,都会调用扩展方法
List<string> strs = new List<string> { "关羽", "张飞", "马超", "黄忠", "赵云" };
var query = from r in strs
where r.StartsWith("张")//查找集合中元素匹配第一个的元素
orderby r
select r;
Foreach(query);//输出:张飞
strs.Add("张昭");
strs.Add("张合");
strs.Add("张辽");
strs.Add("曹操");
Foreach(query);//输出:张飞,张合,张辽,张昭
Console.ReadKey();
//==========================================两次输出不变(值添加到集合里面去了)
List<string> strs2 = new List<string> { "关羽", "张飞", "马超", "黄忠", "赵云" };
var query2 = (from r in strs2
where r.StartsWith("张")//查找集合中元素匹配第一个的元素
orderby r
select r).ToList();//ToArray() ToEnumerable()
Foreach(query2);//输出:张飞
strs2.Add("张昭");
strs2.Add("张合");
strs2.Add("张辽");
strs2.Add("曹操");
Foreach(query2);//输出:张飞
Console.ReadKey();
}
static void Foreach(IEnumerable<string> s)
{
foreach (string item in s)
{
Console.WriteLine(item);
}
Console.WriteLine("=========================");
}
}
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。