gpt4 book ai didi

c# - 使用 C# 对象初始化的类成员的条件初始化

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

我有一个包含 3 个非空整数成员的简单类

public class Test
{
public int Test1 { get; set; }
public int Test2 { get; set; }
public int Test3 { get; set; }
}

现在我想用这样的东西

        int? var1 = null;
int var2 = 2;
int var3 =5;
var t = new Test
{
Test1 = var1, // (error) Initialize Test1 only when var1 is not null
Test2 = var2,
Test3 = var3
};

即我只想在 var1 不为 null 时初始化成员 Test1,所以不知何故我需要在初始化时进行检查。我知道这是一个简单的问题,可以通过不同的方式来完成,但由于我正在重构现有代码并对其进行概括,因此我只需要通过对象初始化来解决。对我来说看起来很简单,但不知何故无法自己找到解决方案

没有多少经验的程序员,非常感谢任何帮助

最佳答案

无论如何,这不会编译,我不认为。但是无论哪种方式,如果您不初始化它,该值都将获得 int 的默认值。等价物是:

    int? var1 = null;
int var2 = 2;
int var3 =5;
var t = new Test
{
Test1 = var1.GetValueOrDefault(),
Test2 = var2,
Test3 = var3
};

关于c# - 使用 C# 对象初始化的类成员的条件初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22414555/

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