将if语句放在新类的实例中

时间:2018-02-22 14:02:39

标签: c#

是否有可能将if语句置于新的类体内?

this.inventory.Items.Select(x=> new StandardItem
{
   ItemNumber = x.ItNo,
   if(isAltered){
      PartNumber = x.PaNo
   }else{
      PartNumber = x.PaReplacedNo
   }
}

上面的代码返回编译错误。

4 个答案:

答案 0 :(得分:4)

您可以改为使用conditional operator

this.inventory.Items.Select(x=> new StandardItem
{
   ItemNumber = x.ItNo,
   PartNumber = isAltered ? x.PaNo : x.PaReplacedNo
}

答案 1 :(得分:3)

您可以使用ternary operator ...

this.inventory.Items.Select(x=> new StandardItem
{
    ItemNumber = x.ItNo,
    PartNumber = isAltered ? x.PaNo : x.PaReplacedNo
}

答案 2 :(得分:1)

您可以使用条件运算符

PartNumber = isAltered ? x.PaNo : x.PaReplaceNo

答案 3 :(得分:1)

您可以使用三元运算符作为内联if-else:

this.inventory.Items.Select(x=> new StandardItem
{
  ItemNumber = x.ItNo,
  PartNumber = isAltered ? x.PaNo : x.PaReplacedNo
}