/**
* ------------------------------------------------------------------------------
* @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. Python Treelib 多叉树 数据结构 中文使用帮助文档

    树,对于计算机编程语言来说是一个重要的数据结构.它具有广泛的应用,比如文件系统的分层数据结构和机器学习中的一些算法.这里创建了treelib来提供Python中树数据结构的高效实现. 官方文档:htt ...

  2. 201871010123-吴丽丽《面向对象程序设计(java)》第二周学习总结

    201871010123-吴丽丽<面向对象程序设计(java)>第二周学习总结                         项目                这个作业属于哪个课程 h ...

  3. 多线程(三)多线程同步_基本介绍及mutex互斥体

    同步进制的引入为了解决以下三个主要问题:1.控制多个线程之间对共享资源访问,保证共享资源的完整性例如:线程A对共享资源进行写入,线程B读取共享资源2.确保多个线程之间的动作以指定的次序发生例如:线程B ...

  4. 多线程中fork与mutex

    在多线程程序中fork出一个新进程,发现新的进程无法正常工作.因为:在使用fork时会将原来进程中的所有内存数据复制一份保存在子进程中.但是在拷贝的时候,但是线程是无法被拷贝的.如果在原来线程中加了锁 ...

  5. CBV和FBV用户认证装饰器

    FBV装饰器用户验证 CBV装饰器用户验证 装饰器位置 或 或

  6. TYVJ1071 LCIS 线性DP+决策集优化

    问题描述 TYVJ1071 题解 暴力\(\mathrm{DP}\) 首先,一个\(O(n^3)\)的解法: 设\(opt_{i,j}\)代表\(a\)的前\(i\)个和\(b\)的前\(j\)个的\ ...

  7. 理解Javascript执行过程

    Javascript是一种解释型的动态语言. 在程序中,有编译型语言和解释型语言.那么什么是编译型语言,什么是解释型语言呢? 编译型语言: 它首先将源代码编译成机器语言,再由机器运行机器码(二进制). ...

  8. czy的后宫5

    题目描述 Description \(czy\) 要召集他的妹子,但是由于条件有限,可能每个妹子不能都去,但每个妹子都有一个美丽值,\(czy\) 希望来的妹子们的美丽值总和最大(虽然--). \(c ...

  9. 使用async-profiler简单分析zeebe 工作流引擎的性能

    刚开始的时候直接使用的系统暴露的prometheus metrics,发现越高的版本反而性能越差,期间使用过了 perf 打算使用perf 生成火焰图的,但是因为符号缺失,只找到了占用较高的任务,详细 ...

  10. Educational Codeforces Round 57 (Rated for Div. 2) C 正多边形 + 枚举

    https://codeforces.com/contest/1096/problem/C 题意 问是否存在一正多边形内三点构成的角度数为ang,若存在输出最小边数 题解 三点构成的角是个圆周角,假设 ...