有没有一种方法可以在C#中执行此操作,而无需为存在的每个var类型创建新的方法来重载?
$box = !empty($toy) : $toy ? "";
我能想到的唯一方法是:
if (toy != null)
{
box += toy;
}
或这个:
public string emptyFilter(string s) ...
public int emptyFilter(int i) ...
public bool emptyFilter(bool b) ...
public object emptyFilter(object o)
{
try
{
if (o != null)
{
return o.ToString();
}
else
{
return "";
}
}
catch (Exception ex)
{
return "exception thrown":
}
}
box += this.emptyFilter(toy);
我基本上想检查以确保变量/属性已设置/不为空/存在/具有值/等...并返回它或“”,而没有像上面的代码那么荒谬。
最佳答案
return variable ?? default_value;
那是你要做什么?考虑到您正在显示PHP代码并用C#标记,我有些困惑。
您还可以使用
Nullable<T>
类型。如何扩展类?
public static class ToStringExtender
{
public static String ToStringExt(this Object myObj)
{
return myObj != null ? myObj.ToString() : String.Empty;
}
}
var myobject = foo.ToStringExt()
DEMO
关于c# - C#短if语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5284223/