C#比较两个由基本数据类型构成的object类型
/// <summary>
/// 比较查询条件
/// </summary>
public class ModelExtensions
{
/// <summary>
/// 扩展方法(用于比较两个类型)
/// </summary>
/// <param name="modelA"></param>
/// <param name="modelB"></param>
/// <returns></returns>
public bool IsEquals<T>(T objA, T objB)
{
Type objType = typeof(T);
PropertyInfo[] ppts = objType.GetProperties(); for (int i = ; i < ppts.Length; i++)
{
object proValueA = null;
object proValueB = null;
proValueA = ppts[i].GetValue(objA, null);
proValueB = ppts[i].GetValue(objB, null); if (proValueA != null)//可以理解为没有赋值的不进行比较
{
if (proValueA.GetType() == typeof(string))//如果是字符型直接比较
{
string int1, int2;
int1 = (string)proValueA;
int2 = (string)proValueB;
if (proValueA != proValueB)
{
return false;
}
}
else if (proValueA.GetType() == typeof(int))//如果是数字型直接比较
{
int int1, int2;
int1 = (int)proValueA;
int2 = (int)proValueB;
if (int1 != int2)
{
return false;
}
}
else if (proValueA.GetType() == typeof(DateTime))//如果是时间型直接比较
{
DateTime int1, int2;
int1 = (DateTime)proValueA;
int2 = (DateTime)proValueB;
if (int1 != int2)
{
return false; }
}
else if (proValueA.GetType() == typeof(byte))//如果是字节直接比较
{
byte int1, int2;
int1 = (byte)proValueA;
int2 = (byte)proValueB;
if (int1 != int2)
{
return false;
}
}
else if (proValueA.GetType() == typeof(bool))//如果是BOOL直接比较
{
bool int1, int2;
int1 = (bool)proValueA;
int2 = (bool)proValueB;
if (int1 != int2)
{
return false;
}
}
else//其他类型不比较
{
continue;
} }
} return true;
}
}
C#比较两个由基本数据类型构成的object类型的更多相关文章
- python自动类型转换(针对于Number数据类型来的)精度从低到高 bool->int-> float->complex 当两个不同是数据类型运算时候,默认想更高进度转化
# ### 自动类型转换(针对于Number数据类型来的) ''' 精度从低到高 bool->int-> float->complex 当两个不同是数据类型运算时候,默认想更高进度转 ...
- MySQL日期数据类型、MySQL时间类型使用总结
MySQL:MySQL日期数据类型.MySQL时间类型使用总结 MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围 ------------ --- ...
- JDBC数据类型、Java数据类型、标准sql类型
本概述是从<JDBCTM Database Access from JavaTM: A Tutorial and Annotated Reference>这本书中摘引来的.JavaSoft ...
- 自学Python2.1-基本数据类型-字符串str(object) 上
自学Python之路 自学Python2.1-基本数据类型-字符串str(object) 上 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串 ...
- python的可变数据类型和不可变类型
python里面一切皆对象 ython的每个对象都分为可变类型和不可变类型 整形,浮点型,字符串,元组属于不可变类型,列表,字典是可变类型 不可变数据类型 对不可变类型的变量重新赋值,实际上是重新创建 ...
- 数据类型总结——String(字符串类型)
相关文章 简书原文:https://www.jianshu.com/p/546a755c3eb6 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...
- 数据类型总结——Array(数组类型)
相关文章 简书原文:https://www.jianshu.com/p/1e4425383a65 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...
- Java 基础复习 基础数据类型与包装器类型
Java 基础 基础数据类型与包装器类型 基础数据类型 java 中包含哪些基础数据类型,默认值分别是多少? 基础数据类型 byte short int long double float char ...
- pandas数据类型(二)与numpy的str和object类型之间的区别
现象: Numpy区分了str和object类型,其中dtype(‘S’)和dtype(‘O’)分别对应于str和object. 然而,pandas缺乏这种区别 str和object类型都对应dtyp ...
随机推荐
- python日志syslog运用
syslog的官方说明在: https://docs.python.org/2/library/syslog.html#module-syslog 该模块的主要方式为: #!/usr/bin/pyth ...
- Python内置函数(63)——super
英文文档: super([type[, object-or-type]]) Return a proxy object that delegates method calls to a parent ...
- Java8 新特性 | 如何风骚走位防止空指针异常
文章整理翻译自 https://winterbe.com/posts/2015/03/15/avoid-null-checks-in-java/ 文章首发于个人网站: https://www.exce ...
- 关于pycharm安装出现的interpreter field is empty,无法创建项目存储位置
关于pycharm安装出现的interpreter field is empty(解释器为空) 关于pycharm安装出现的interpreter field is empty,无法创建项目存储的位置 ...
- Shiro中的授权问题(二)
上篇博客(Shiro中的授权问题 )我们介绍了Shiro中最最基本的授权问题,以及常见的权限字符的匹配问题.但是这里边还有许多细节需要我们继续介绍,本节我们就来看看Shiro中授权的一些细节问题. 验 ...
- Chapter 5 Blood Type——29
"We're meeting at my dad's store, at ten." “十点,我们在我爸的店见面.” His eyes flickered to Edward ag ...
- Softmax函数详解与推导
一.softmax函数 softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类! 假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个 ...
- leetcode — subsets
import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Source : https://o ...
- 设计模式总结篇系列:外观模式(Facade)
张三自从毕业后开始做软件开发,做着做着发现不爽了,钱赚不了太多,头发也白了.于是拿着一点小资本,想着做点小生意.瞅着眼前的餐饮行业还不错,于是打算开一家餐馆.开参观可不是一件容易的事,仅仅行政类的审批 ...
- Kubernetes 弹性伸缩全场景解析 (四)- 让核心组件充满弹性
前言 在本系列的前三篇中,我们介绍了弹性伸缩的整体布局以及HPA的一些原理,HPA的部分还遗留了一些内容需要进行详细解析.在准备这部分内容的期间,会穿插几篇弹性伸缩组件的最佳实践.今天我们要讲解的是 ...