簡體   English   中英

內聯條件檢查以將擴展應用於變量?

[英]inline conditional check to apply extension to variable?

如果特定條件為true,那么我希望將變量轉換,但是如果為false,則將其保留原樣。 整個想法是在下面的行中實現這一目標,而無需在其之前添加額外的行。

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

使用C#條件運算符 通常在其他語言中稱為三元運算符

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

您也可以嘗試反射

bool my_condition = ....;
var xyz = something_variable.GetType()
    .GetMethod(my_condition ? "ToShortTimeString" : "ToLongTimeString")
    .Invoke(something_variable, null);

您可能需要根據使用的方法指定BindingFlags

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM