/**
* ------------------------------------------------------------------------------
* @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. vue报错 Uncaught (in promise) NavigationDuplicated {_name:""NavigationDuplicated"... 的解决方法

    在进行跳转的时候报错 app.js:87499 Uncaught (in promise) NavigationDuplicated?{_name: "NavigationDuplicate ...

  2. linux (07) redis详解

    一.redis持久化RDB 1.在配置文件中添加参数,开启rdb功能 redis.conf 写入 port 6379 daemonize yes logfile /data/6379/redis.lo ...

  3. 解析YAML文件

    YamlMapFactoryBean yamlMapFactoryBean = new YamlMapFactoryBean(); yamlMapFactoryBean.setResources(ne ...

  4. 201871010109-胡欢欢《面向对象程序设计(java)》第十一周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  5. VSCode变换python的调试解释器

    假如一个电脑上有多个Python的环境,想要设置不同的python解释器用于调试. VSCode 的设置,是通过.json的文本来配置的.打开文本的方式: 打开后的文件如下所示: 可以试试“new s ...

  6. zookeeper 链接报错 KeeperErrorCode = NodeExists for

    zookeeper  链接报错 CONNECTING Receive watched event:WatchedEvent state:SyncConnected type:None path:nul ...

  7. Linux学习笔记-第6天 - 问题的根本

    这些知识其实看起来很简单,之前不管是在学习C语言还是bat批处理,类似结构早已熟知. 但其实运用起来并不算好,可能真正的原因还 是在于得多练习吧.希望明年的今天自己不要再纠结与这些基础性的知识.

  8. [LeetCode] 565. Array Nesting 数组嵌套

    A zero-indexed array A of length N contains all integers from 0 to N-1. Find and return the longest ...

  9. Salesforce 开发整理(十)项目部署总结

    项目部署顺序 全局值集 小组 自定义字段-对象-设置(SF1 紧凑布局要和记录类型在这里要一起部署) 邮件模板-静态资源 角色 工作流-流定义(包含进程生成器) 批准过程 开发部署<Apex类, ...

  10. Tomcat启用HTTPS协议配置过程

    Article1较为简洁,Article2较为详细,测试可行. Article1 概念简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问 ...