将意外令牌放入三元运算符

时间:2018-09-18 23:49:07

标签: c# ternary-operator

我想做一个简单的三元运算,例如:

   progressToBackCheckMedianString = $"{newLine} Medians {(medianInProgressFormattedTime != string.Empty ? {newLine} {medianInProgressFormattedTime}{newLine} : string.Empty)}" ;

但是我得到

  

意外令牌'{'

{(medianInProgressFormattedTime != string.Empty ?用此错误标记为红色。我做错了什么?问候

2 个答案:

答案 0 :(得分:2)

您正在使用$ - string interpolation,该版本支持高于6.0的c#版本

  

{interpolatedExpression}

大括号在语法上有特殊含义。

您的newLine似乎是一个字符串值。

删除{之间的}newLine,并使用+连接字符串值,因为外部已经使用大括号了。

我会用

string.IsNullOrEmpty

检查字符串值而不是

medianInProgressFormattedTime != string.Empty

因为medianInProgressFormattedTime可能是NULL

string progressToBackCheckMedianString = $"{newLine} Medians{(!string.IsNullOrEmpty(medianInProgressFormattedTime) ? newLine + medianInProgressFormattedTime + newLine : string.Empty)}";

c# Test

答案 1 :(得分:0)

JObject周围加上字符串引号

{newLine} {medianInProgressFormattedTime}{newLine}