在第77集中,Joel和Jeff正在讨论使用链接而不是for循环。我查看了Stack Overflow,Google和Wikipedia,但找不到任何对链接构造的引用。我能找到的最接近的东西是一个自引用链表,它可能会无限循环。链接是Links编程语言的一个特性吗?如果不是,那么在这种情况下链接意味着什么。
答案 0 :(得分:2)
是的,我很确定他们说LINQ。
在.Net中,它是一个非常有用的功能,允许您使用看起来像SQL一样可疑的语法从对象集合中“选择”项目:
List<Person> personList = // maybe passed into a method or whatever
IEnumerable<Person> filteredList = from p in personList
where p.Age > ageThreshold
select p
return filteredList.ToList<Person>();
有一本很棒的曼宁书:“LINQ in Action”如果你想了解更多,他们会有一些可下载的样本章节。
答案 1 :(得分:2)
我确信他们正在讨论使用LINQ(语言集成查询),而不是 links 来替换foreach
循环。
var stuff = list.Where( l => l.StartsWith( "a" ) ).ToList();
或
var stuff = (from l in list
where l.StartsWith("a")
select l).ToList();
VS
var stuff = new List<string>();
foreach (var item in list)
{
if (item.StartsWith("a"))
{
stuff.Add( a );
}
}