gpt4 book ai didi

C# 语法 :----- IEnumerable people = new List();

转载 作者:行者123 更新时间:2023-11-30 20:20:28 29 4
gpt4 key购买 nike

我理解前两个陈述。但是,对于第三种说法,我想不通人是什么类型的人? IEnumerable(person) 还是 List(person)?我假设幕后有转换。有人可以解释一下语句 3 中使用了哪些技术吗?

  1. IEnumerable(Person) people = new IEnumerable(Person)();
  2. List(Person) people = new List(Person)();
  3. IEnumerable(Person) people = new List(Person)();

最佳答案

IEnumerable<Person> people = new IEnumerable<Person>();

无效。 IEnumerable是一个接口(interface),它不能被实例化。

后两个有效:

List<Person> people = new List<Person>();
IEnumerable<Person> people = new List<Person>();

上面的第二个例子只是将集合转换为 IEnumerable<Person> .这意味着功能 List provides 不可用,除非您将集合转换回列表。简而言之,这并不是那么有用。转换为 IEnumerable在定义方法时很有用,例如:

void DoSomethingWithPeople(IEnumerable<Person> people)
{
foreach(var person in people)
Console.WriteLine(person.Name);
}

在这里,我们不关心集合是列表、集合、链表等,我们只关心people这个事实。可以枚举(即可枚举)。

关于C# 语法 :----- IEnumerable<Person> people = new List<Person>();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36638769/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com