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 ...
随机推荐
- 剖析项目多个logback配置(下)
来源:http://www.cnblogs.com/guozp/p/5973038.html 上篇大概描述了logback的加载顺序以及加载的源码,本篇将分析如果在你的Maven或者其他多模块的项目中 ...
- Prometheus使用入门
Monitoring with Prometheus读书笔记 原书见: https://www.safaribooksonline.com/library/view/monitoring-with-p ...
- 关于Input内容改变的触发事件
1.onchange onchange 事件会在域的内容改变时触发.支持的标签<input type="text">, <textarea>, <se ...
- @@ITENTITY
@@identity是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量.一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头.sele ...
- Android--逐帧动画FrameAnimation
前言 开门见山,本篇博客讲解一下如何在Android平台下播放一个逐帧动画.逐帧动画在Android下可以通过代码和XML文件两种方式定义,本篇博客都将讲到,最后将以一个简单的Demo来演示两种方式定 ...
- 基于Spring cloud Ribbon和Eureka实现客户端负载均衡
前言 本案例将基于Spring cloud Ribbon和Eureka实现客户端负载均衡,其中Ribbon用于实现客户端负载均衡,Eureka主要是用于服务注册及发现: 传统的服务端负载均衡 常见的服 ...
- Chapter 5 Blood Type——31
I stood carefully, and I was still fine. He held the door for me, his smile polite but his eyes mock ...
- Chapter 5 Blood Type——15
I hesitated, torn, but then the first bell sent me hurrying out the door — with a last glance confir ...
- 剖析HBase负载均衡和性能指标
1.概述 在分布式系统中,负载均衡是一个非常重要的功能,在HBase中通过Region的数量来实现负载均衡,HBase中可以通过hbase.master.loadbalancer.class来实现自定 ...
- 【Vue】----- computed与watch的区别
1.computed computed是一种计算属性,用来监听属性的变化: computed里面的方法调用的时候不需要加(),并且里面的方法必须要有一个返回值: computed里面的方法不是通过事件 ...