gpt4 book ai didi

c# - 如何将新对象插入匿名数组?

转载 作者:太空狗 更新时间:2023-10-29 23:04:26 26 4
gpt4 key购买 nike

如何向匿名数组中插入一个新对象?

var v = new[]
{
new {Name = "a", Surname = "b", Age = 1},
new {Name = "b", Surname = "c", Age = 2}
};

我知道首先我们设置了数组的限制(大小)。

我将其转换为列表。插入新对象。

v.ToList().Add(new { Name = "c", Surname = "d", Age = 3 });

但我在 v 变量中仍然有 2 个元素。第三元素去哪了?

但我不能分配给另一个列表变量。

List newV = v.ToList();

最佳答案

.ToList()生成一个新的列表对象,将输入源(您的数组)的所有元素添加到其中。因此,原始数组根本没有改变。

您不能向现有数组添加元素,它具有固定大小,您唯一能做的就是将新数组放回变量中。

我没试过,但试试这个:

var l = v.ToList();
l.Add(...); // your existing add code
v = l.ToArray();

但是,请注意,此时您应该首先了解为什么要使用匿名类型,我会认真考虑只创建一个命名类型,并首先使用列表。

注意你不能写List l = v.ToList();因为列表的类型是通用的(它将返回一些 List<some-anonymous-type-here> ,而不仅仅是 List 。对于匿名类型,您需要使用 var

关于c# - 如何将新对象插入匿名数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2199961/

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