/**
* ------------------------------------------------------------------------------
* @Copyright information: F-Gang制作 ® 版权所有 2019 ©
*
* @Author: F-Gan 冯刚
*
* @Machine: DESKTOP-MTP43T5
*
* @Creation Time: 2019/7/6 12:46:01
*
* @Descriptive: 此代码由程序自动生成
*
* @Powered By: 技术支持 QQ:565728589
*
* @System Version Number: 4.0.30319.42000
* ------------------------------------------------------------------------------
* */ using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks; namespace Management.Utility
{
/// <summary>
/// 过滤帮助类
/// </summary>
public static class FilterHelper
{
#region 字符串类型去除空格
/// <summary>
/// 过滤字符类型的空格
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <returns></returns>
public static T ObjTrimString<T>(T t)
{
try
{
if (t == null)
return default(T);
Type type = t.GetType();
PropertyInfo[] props = type.GetProperties(); Parallel.ForEach(props, p =>
{
if (p.PropertyType.Name.Equals("String"))
{
var tmp = (string)p.GetValue(t, null);
p.SetValue(t, tmp.Trim(), null);
}
}); return t;
}
catch
{
return default(T);
}
} /// <summary>
/// 对象去除去除空格
/// </summary>
/// <param name="obj">对象</param>
/// <returns></returns>
public static object ObjTrimString(object obj)
{
try
{
Type type = obj.GetType();
PropertyInfo[] props = type.GetProperties(); Parallel.ForEach(props, p =>
{
if (p.PropertyType.Name.Equals("String"))
{
var tmp = (string)p.GetValue(obj, null);
p.SetValue(obj, tmp.Trim(), null);
}
}); return obj;
}
catch
{
return obj;
}
} /// <summary>
/// 字典objcet值去空格
/// </summary>
/// <param name="pairs"></param>
/// <returns></returns>
public static Dictionary<string,object> KeyValuePairsTrim(Dictionary<string, object> pairs)
{
Dictionary<string, object> valuePairs = new Dictionary<string, object>();
if (pairs != null && pairs.Count > )
{
foreach (var pair in pairs)
{
valuePairs.Add(pair.Key, ObjTrimString(pair.Value));
}
}
else
return pairs;
return valuePairs;
}
#endregion
}
}

作者地址:https://www.cnblogs.com/FGang/p/11142430.html

C# 实体对象作为参数统一去除空格的更多相关文章

  1. C#序列化s实体类成Xml,去除空格、换行符以及命名空间

    序列化实体类成为一个干净的Xml,不带空格.换行符以及命名空间 /// <summary> /// 序列化成XML /// </summary> /// <typepar ...

  2. Mybatis多参数及实体对象传递

    在使用Mybatis的时候,经常会有各种各样的参数传递,不同类型,不同个数的参数. 先上个例子:     public List<LifetouchRelease> findOfficeL ...

  3. Web API 实体对象Get请求参数为null

    实体对象前加上 [FromUri] 特性

  4. js去除空格12种方法

    注:本文非本人原著:原文作者: 黄卉  <js去除空格12种方法> //JS去除空格的方法目前共有12种: //实现1 String.prototype.trim = function() ...

  5. Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)

    Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer   Advanced Installer :Free for 30 da ...

  6. mybatis-generator 动态生成实体对象、dao 以及相关的xml映射文件

    .新建maven空项目 2.修改pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <proje ...

  7. JavaScript去除空格的三种方法(正则/传参函数/trim)

    方法一: 个人认为最好的方法.采用的是正则表达式,这是最核心的原理. 其次.这个方法使用了JavaScript 的prototype 属性 其实你不使用这个属性一样可以用函数实现.但这样做后用起来比较 ...

  8. C# Emit动态代理生成一个实体对象

    /// <summary> /// 使用Emit动态代理收集实体信息 /// </summary> /// <typeparam name="T"&g ...

  9. 无线客户端框架设计(5.1):将JSON映射为实体对象(iOS篇)

    iOS开发人员已经习惯于将JSON转换为字典或者数组来进行操作了,接下来我要做的事情,可能匪夷所思,但是,对WP和Android开发人员而言,他们更倾向于将JSON转换为实体对象进行操作. 我所设计的 ...

随机推荐

  1. K8s集群中设置harbor仓库认证

    一,获取harbor的登陆用户名和密码(demo_user/demo_pwd) 二,使用kubectl命令生成secret(不同的namespace要分别生成secret,不共用) kubectl c ...

  2. 20187101035 张玉晶《面向对象程序设计(java)》第八周学习总结

    201871010135   张玉晶 <面向对象程序设计(java)>第八周学习总结> 项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www ...

  3. loadrunner 添加检查点

    1.首先使用录制的方式,把论坛的代码编写完成后,要判断的执行前插入检查点,使用右键方式,弹出的下拉的菜单中进行选择“insert”的选项. 2.就在弹出下一级的菜单中,进行选中一个为“new step ...

  4. Java链接Oracle

    首先在Navicat里面链接Oracle: 连接时老报错:ORA-12505, TNS:listener does not currently know of SID given in connect ...

  5. Jmeter压力并发测试

    一.http://jmeter.apache.org/ 二.点击Download Releases选择版本下载 三.下载解压: 将解压后的文档存盘-下载logkit-2.0.jar(汉化包)放到jme ...

  6. 【oracle】获取指定表空间的所有表名

    select owner||'.'||table_name from dba_tables where tablespace_name='A';

  7. __str__与__repr__的触发顺序总结

    1.__str__是个内置的方法,无需使用者去调用,其会在满足某一条件时自动触发.那么要触发它运行都有哪些条件呢? 有三种条件,分别为:print , str , %s 2.__repr__同样是个内 ...

  8. appium--Capability的配置

    前戏 desired appium的功能是配置Appium会话,他们告诉appium服务器你想要自动化的平台的程序 Desired Capability是一组设置的键值对的集合,其中键对应设置的名称, ...

  9. Linux性能优化实战学习笔记:第四讲

    一.怎么查看系统上下文切换情况 通过前面学习我么你知道,过多的上下文切换,会把CPU时间消耗在寄存器.内核栈以及虚拟内存等数据的保存和回复上,缩短进程真正运行的时间,成了系统性能大幅下降的一个元凶 既 ...

  10. oracle--DG监控脚本

    conn sys@oracle01 as sysdba column dest_name format a30 column destination format a20 column MEMBER ...