gpt4 book ai didi

c# - AddRange() 应该返回一个列表

转载 作者:太空狗 更新时间:2023-10-30 00:07:49 27 4
gpt4 key购买 nike

在下面的代码中:

var cats = new List<string>() {"cat1", "cat2"};
var dogs = new List<string>() {"dog1", "dog2"};

var animals = new List<Animal>();

animals = (cats.Select(x => new Animal() {Type = "Cat", Name = x}).ToList().AddRange(
dogs.Select(x => new Animal() {Type = "Dog", Name = x}).ToList())).ToList();

最后调用 ToList() 是错误的,因为 AddRange() 返回 void。这在现在使用 Linq 类型查询时似乎不正确。

我发现我可以将其更改为 .Union().Concat() 来解决问题,但不应该 AddRange() 是否已更新,或者是否有返回 void 的原因?

最佳答案

AddRange 更改基础 List 对象。没有 LinQ 方法可以做到这一点。所以它根本不同,不应在 LinQ 连接中使用。 void 的返回值反射(reflect)了这一点。

关于c# - AddRange() 应该返回一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16899761/

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