gpt4 book ai didi

c# - LINQ 中的动态新字段

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

是否可以创建 new {variable = x.something} 并动态指定变量名?例如:

var name = "dynamicName"; 
var result = context.select(x=> new {name.ToString() = x.something })

通过这种方式,我们将得到一个列表,其中属性名称是 dynamicName。那么这在某种程度上是可能的吗?

最佳答案

这对于匿名类型是不可能的,因为匿名类型不是动态的。它们必须在编译时完全定义。但是,您可以使用像 ExpandoObject 这样的动态对象:

var name = "dynamicName"; 
var result = context.Select(x =>
{
var exp = new ExpandoObject() as IDictionary<string, object>;
exp[name] = x.something;
return (dynamic)exp;
});

关于c# - LINQ 中的动态新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9939866/

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