确定实例是否属于特定类型的最佳方法

时间:2014-06-26 16:58:50

标签: c# .net reflection types casting

我正在从事C#项目,我发现自己遇到了这种情况:

TypeCode code = value == null ? TypeCode.DBNull : TypeCode.GetTypeCode(value.GetType());

switch(code) {
    case TypeCode.DBNull: data = SerializeNull(); break;
    case TypeCode.String: data = SerializeString((String) value); break;
    case TypeCode.Int32: data = SerializeInt32((Int32) value); break;
    // ... MORE TYPES
}

我的问题是:

使用此"类型确定"是否有任何优势?技术超过这个?:

if(value == null) data = SerializeNull();
else if(value is String) data = SerializeString((String) value);
else if(value is Int32) data = SerializeInt32((Int32) value);

至于我的观点,我发现最后一个更易读,更容易实现。

我仍然想知道是否存在性能问题

提前致谢

0 个答案:

没有答案