在插值字符串中使用 if 条件
Use if conditional in interpolation string
我有一个只有在复选框被选中时才会获得的值,例如:
var currentEmployeeMedian = "";
if (chkGetMedian.Checked)
{
//code there
currentEmployeeMedian = EmployeeMedian.Median.ToString();
}
所以我有一个像这样的插值:
$"{employee}: {formattedTime} - Employee Median = {currentEmployeeMedian} minutes";
但我只想在选中复选框时显示 - Employee Median = {currentEmployeeMedian} minutes
有没有什么方法可以在不使用 if else
子句的情况下实现这一点?没有像使用?
和:
这样的插值成就
if 子句就像:
if (chkGetMedian.Checked)
{
$"{employee}: {formattedTime} - Employee Median = {currentEmployeeMedian} minutes";
}
else
{
$"{employee}: {formattedTime}";
}
无法做到这一点,只能使用插值法吗?
因此,您的目标是有选择地包括没有 if 语句的内插字符串的后半部分。您尝试了三元运算符,但由于无法嵌套内插字符串而失败。
希望我正确理解了你的问题。
解决办法是创建一个字符串变量来保存后半部分:
var medianString = $" - Employee Median = {currentEmployeeMedian} minutes";
$"{employee}: {formattedTime}{(chkGetMedian.Checked ? medianString : string.Empty)}"
我有一个只有在复选框被选中时才会获得的值,例如:
var currentEmployeeMedian = "";
if (chkGetMedian.Checked)
{
//code there
currentEmployeeMedian = EmployeeMedian.Median.ToString();
}
所以我有一个像这样的插值:
$"{employee}: {formattedTime} - Employee Median = {currentEmployeeMedian} minutes";
但我只想在选中复选框时显示 - Employee Median = {currentEmployeeMedian} minutes
有没有什么方法可以在不使用 if else
子句的情况下实现这一点?没有像使用?
和:
if 子句就像:
if (chkGetMedian.Checked)
{
$"{employee}: {formattedTime} - Employee Median = {currentEmployeeMedian} minutes";
}
else
{
$"{employee}: {formattedTime}";
}
无法做到这一点,只能使用插值法吗?
因此,您的目标是有选择地包括没有 if 语句的内插字符串的后半部分。您尝试了三元运算符,但由于无法嵌套内插字符串而失败。
希望我正确理解了你的问题。
解决办法是创建一个字符串变量来保存后半部分:
var medianString = $" - Employee Median = {currentEmployeeMedian} minutes";
$"{employee}: {formattedTime}{(chkGetMedian.Checked ? medianString : string.Empty)}"