gpt4 book ai didi

c# - 新的空白,非 null 匿名类型

转载 作者:太空宇宙 更新时间:2023-11-03 13:50:06 25 4
gpt4 key购买 nike

我需要将一个新的空白但非空的匿名类型插入到 linq 查询返回的其他匿名类型的列表中。那可能吗?我能得到的都是空值

var something =
( from a in x.As
where x != null
join b in x.Bs
on a.key equals b.key
select new
{
a.prop1,
a.prop2,
b.prop1,
b.prop2,
b.prop3
}).ToList();

// insert blank
//something.InsertRange(0, something.DefaultIfEmpty());
//something.InsertRange(0, something.Take(0));
//?

最佳答案

我不知道有什么方法可以在单个查询中执行此操作,因为匿名类型的默认值是 null。我会做的是预先创建一个“默认”项并在必要时附加它:

var blank = new {
prop1 = default(string), // can't use null
prop2 = default(string), // because the type cannot be inferred
prop3 = default(string),
prop4 = default(string)
};

var something = /*...*/.ToList();
if(!something.Any())
something.Add(blank);

请注意,只要字段名称匹配(名称和类型),blank 将与 Linq 查询创建的匿名类型相同。

关于c# - 新的空白,非 null 匿名类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13923647/

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