我怎么写这个?
match = p.PType.Type == EPType.Umbr
? matchShouldBeThis
: (p.IsShare == true ? matchShouldBeThisInstead);
编译器抱怨它想要另一个:
基本上是a 一世 然后 否则如果
答案 0 :(得分:2)
首先使用简写语法编写代码会有所帮助,然后查看是否可以使用?:
“简化”。
在_Iwantthisinsteadwant
和 p.PType.Type == EPType.Umbr
时,您似乎需要p.IsShare == true
,否则您需要thisone
。
这将成为:
if (p.PType.Type == EPType.Umbr && p.IsShare)
{
match = _Iwantthisinsteadwant;
}
else
{
match = thisOne;
}
这可以缩短为:
match = (p.PType.Type == EPType.Umbr && p.IsShare)
? _Iwantthisinstead
: thisOne;
答案 1 :(得分:0)
您的第二个条件缺失false part
match = p.PType.Type == EPType.Umbr
? thisOne
: (p.IsShare ? _Iwantthisinstead : false);