/**
* ------------------------------------------------------------------------------
* @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. 201871010117-石欣钰《面向对象程序设计(JAVA)》第十四周学习总结

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

  2. python3中的map对象返回的是迭代器,该迭代器用list()转列表之后,再次用list()转化时会返回空

    练习代码的时候,发现python3中的map()函数返回的可迭代对象,在用list()转成列表之后,再次用list()转列表的时候,获取的是空值(如下所示),所以查了一下python3的map()对象 ...

  3. day4_常用的内置函数

    # dict() 工厂函数, 生成字典 a = dict(u=2, i="hello", **{"kk":"cc"}) a = dict(y ...

  4. 论文阅读笔记六十一:Selective Kernel Networks(SKNet CVPR2019)

    论文原址:https://arxiv.org/pdf/1903.06586.pdf github: https://github.com/implus/SKNet 摘要 在标准的卷积网络中,每层网络中 ...

  5. Linux性能优化实战学习笔记:第三十六讲

    一.上节总结回顾 上一节,我们回顾了经典的 C10K 和 C1000K 问题.简单回顾一下,C10K 是指如何单机同时处理 1 万个请求(并发连接 1 万)的问题,而 C1000K 则是单机支持处理 ...

  6. [LeetCode] 406. Queue Reconstruction by Height 根据高度重建队列

    Suppose you have a random list of people standing in a queue. Each person is described by a pair of ...

  7. JDK8过渡到JDK11

    module-info 首先最大的难度就是module-info.java Java9 手把手教你实现模块化 后续我再找点详细的资料 中文API文档 其次是中文文档[感谢 译者wzjin https: ...

  8. TextView实现文字水平滚动效果

    有时候我们使用TextView显示文本,只想把所有内容用一行显示出来,但是一行又显示不完,就需要让文本实现水平滚动的效果. 具体实现方法如下: 1,实现自定义TextView并实现isFocused( ...

  9. oracle-报错 RMAN-03002,RMAN-06172

    RMAN> restore standby controlfile from "/data/oracle/contral.ctl"; Starting restore at ...

  10. java登录点击验证码图片切换验证码无效

    1.问题:我在写一个登录时需要添加一个验证码的功能,但是第一次可以生成验证码,但是点击的时候无法发起请求. 2.解决方案:在请求地址后面加一个时间戳,保证每次请求都不一样就可以了! window.on ...