首页 > 代码库 > 关于C# 比较的判断
关于C# 比较的判断
private bool Compare(object o1, object o2) { if (o1 == null) { if (o2 == null) { return true; } else { return false; } } else if (o1 != null && o2 != null) { return DataType(o1, o2); } else { if (o1 == null && o2 != null&&o2.ToString()=="") { return true; } if (o2 == null && o1 != null && o1.ToString()=="") { return true; } return o1.Equals(o2); } } private bool DataType(object o1, object o2) { try { string type = o1.GetType().Name; switch (type) { case "Int32": return Convert.ToInt32(o1) == Convert.ToInt32(o2); case "Double": return Convert.ToDouble(o1) == Convert.ToDouble(o2); case "Decimal": return Convert.ToDecimal(o1) == Convert.ToDecimal(o2); case "Single": return Convert.ToSingle(o1) == Convert.ToSingle(o2); case "Char": return Convert.ToChar(o1) == Convert.ToChar(o2); case "String": return o1.ToString() == o2.ToString(); case "Boolean": return Convert.ToBoolean(o1) == Convert.ToBoolean(o2); case "Int16": return Convert.ToInt16(o1) == Convert.ToInt16(o2); case "Int64": return Convert.ToInt64(o1) == Convert.ToInt64(o2); default: return o1 == o2; } } catch { return false; } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。