内联条件检查将扩展应用于变量?

时间:2017-09-29 13:09:19

标签: c#

如果特定条件为真,那么我希望转换变量,但如果它是假的,则保持原样。整个想法是在下面的行中实现它,而不在它之前添加额外的行。

bool my_condition = ....;
string xyz = MyClass1.MySubclass2.VeryLongVariableName.(my_condition ? .ToShortTimeString()  : ());

3 个答案:

答案 0 :(得分:2)

使用C# conditional operator。它通常在其他语言中称为ternary operator

bool my_condition = ....;
string xyz = my_condition ? something_variable.ToShortTimeString() : something_variable;

答案 1 :(得分:1)

string xyz=my_condition.any()?something_variable.ToShortTimeString():"somethingelse";

答案 2 :(得分:1)

您也可以尝试反思

from("direct:exec").to("exec:{path}/Cygwin/bin/bash?args=run_setup.sh")

您可能需要根据使用的方法指定bool my_condition = ....; var xyz = something_variable.GetType() .GetMethod(my_condition ? "ToShortTimeString" : "ToLongTimeString") .Invoke(something_variable, null);