gpt4 book ai didi

c# - Linq 在 C# 中创建期间选择自引用

转载 作者:行者123 更新时间:2023-11-30 19:54:03 26 4
gpt4 key购买 nike

基本上我想要的与此处的回答相同,但在 C# 中: Self-references in object literal declarations

我有的是这段代码:

private List<myObject> myFunction()
{
return myList.Select(l => new myObject
{
propA = 6,
propB = 3,
propC = propA + propB
}
).ToList();
}

当然不行,因为我不能这样引用 propA 和 propB。正确的做法是什么?

谢谢

最佳答案

你可以在 lambda 表达式中使用 body:

private List<myObject> myFunction()
{
return myList.Select(l =>
{
var myObject = new myObject
{
propA = 6,
propB = 3
};

myObject.propC = myObject.propA + myObject.propB;

return myObject;

}).ToList();
}

或者你可以在 propC 的 getter 中返回总和:

public int propC 
{
get
{
return propA + propB;
}
}

而且你不需要设置propC

关于c# - Linq 在 C# 中创建期间选择自引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44387728/

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