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 ...
随机推荐
- [Swift]LeetCode899. 有序队列 | Orderly Queue
A string S of lowercase letters is given. Then, we may make any number of moves. In each move, we c ...
- [Abp 源码分析]二、模块系统
0.简介 整个 Abp 框架由各个模块组成,基本上可以看做一个程序集一个模块,不排除一个程序集有多个模块的可能性.可以看看他官方的这些扩展库: 可以看到每个项目文件下面都会有一个 xxxModule ...
- 【Discuz】关于出现“对不起,您安装的不是正版应用..”的解决方法
使用Discuz!建站的站长都会遇到这样的问题:有些插件和风格在安装时出现不能安装的现象,出现以下提示: 不起,您安装的不是正版应用,安装程序无法继续执行 点击这里安装正版应用 针对这一情况,本人从网 ...
- SpringMVC学习笔记之一(SpringMVC架构及与Mybatis整合)
一.SpringMVC入门 1.1Springmvc是什么 Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来,如 ...
- vue webpack打包背景图片
vue的背景图 和 img标签图大于10KB都不会转成base64处理,可以设置limit(不推荐),所以要设置一个公共路径,解决办法如下
- Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置
前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...
- C#程序员知识体系
[https://blog.csdn.net/zj735539703/article/details/50409476] 基础部分 C# 基础语法 OOP的概念,面向对象的理解 继承 封装 多态 AS ...
- shell32.dll 控制网络
//禁用 SetNetworkAdapter(False) //启用 SetNetworkAdapter(True) //添加引用system32/shell32.dll private static ...
- Linux 桌面双击运行脚本
创建桌面文件 touch myapp.desktop 编辑此文件写入一下内容 [Desktop Entry] Name = myapp Exec = /usr/bin/xxxx/xxx.sh Icon ...
- Guava Cache 本地缓存组件浅析
cache组件中核心的类和接口列举如下: 接口: Cache 本地缓存的顶级接口,提供一些对缓存进行get,put的方法,以及获取缓存统计数据的方法等. LoadingCache 继承了Cache接口 ...