我正在从事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);
至于我的观点,我发现最后一个更易读,更容易实现。
我仍然想知道是否存在性能问题
提前致谢