扩展代码:
public static class ClassExtend{/// <summary>/// 将object强制转化为int/// </summary>/// <param name="o">要强制转换的object</param>/// <param name="defaultValue">o为null或者转换失败的默认值</param>/// <returns></returns>public static int TryToInt(this object o, int defaultValue = 0){int retValue;//o为null 或者转换失败返回默认值retValue = o == null || !int.TryParse(o.ToString(), out retValue) ? defaultValue : retValue;return retValue;}}
代码中使用:
var startIndex = o["StartIndex"].TryToInt(1);
var endIndex = o["EndIndex"].TryToInt(10);
常规写法:
int startIndex;
int endIndex;
startIndex = int.TryParse(o["StartIndex"]?.ToString(), out startIndex) ? startIndex : 1;
endIndex = int.TryParse(o["EndIndex"]?.ToString(), out endIndex) ? endIndex : 10;