在C#中,由于下面的代码:C#转换LINQ VAR结果实际类型
public class Person
{
public int PersonID { get; set; }
public int Age { get; set; }
public string Name { get; set; }
}
和
List<Person> people = new List<Person>();
for (int i = 0; i != 15; i++)
{
Person p = new Person();
p.PersonID = i;
p.Age = i * 12;
p.Name = "Name " + i;
people.Add(p);
}
var sortedPeople = from qPeople in people
where qPeople.Age > 0 && qPeople.Age < 25 || qPeople.Age > 100
orderby qPeople.Age descending
select qPeople;
我可以加载sortedPeople的结果返回到一个列表<人>无循环?
谢谢。
请使用for(int i = 0; i <15; i ++)'来代替'for(int i = 0; i!= 15; i ++)' - 一些有趣而神秘的无限循环可以如果在块内修改了'i',则出现 – 2010-04-14 03:31:41
如果您不明白var是编译器推断的类型声明,那么您不应该使用var。 – 2010-04-14 03:33:34
@James Kolpack:无限循环至少很容易发现。如果你使用'i <15'并且发现这可能会更困难一点,那么我猜想会出现一些神秘的意外行为(重点是 - 修改块内的“i”无论如何都是通向地狱的道路)。 – 2010-04-14 03:46:34