将加法结果映射到代码的最佳方式是什么?result.adds
包含一个字符串数组:string[] adds = new string[] { "A", "B", "C" };
选项1:
var car = new Car()
{
Name = request.Name,
Codes = (result.adds != null) ? adds : new string[] { }
};
在我看来,当结果为false时,选项1创建一个新的空字符串数组似乎很奇怪。我还对对象映射本身中的映射表示怀疑。另一方面,它是直接和快速的。
选项2:
if (result.adds != null)
{
adds = results.adds;
}
var car = new Car()
{
Name = request.Name,
Codes = adds
};
选项2的null检查对于单独定义代码似乎有些过头了。它可以简单地包含在映射器中。
在您提供的两个选项中,选项#1看起来最干净。然而,如果你可以使用空合并运算符,你可以简化它:
var car = new Car()
{
Name = request.Name,
Codes = result.adds ?? Array.Empty<string>()
};
这将在results.add
为null时使用一个空字符串数组。