C# 实体对象作为参数统一去除空格

/**
 * ------------------------------------------------------------------------------
 *  @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 > 0)
            {
                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

转载于:https://www.cnblogs.com/FGang/p/11142430.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值