欢迎您来到“名字什么都是浮云”的博客空间!

C# 格式化新招

C# 格式化新招


 

select count(1) from Attribute_Item where AttributeSysNo=$AttributeSysNo and Name='$Name' and SysNo !=$SysNo

 

以上字符串中包含了"$"符号,"$"替换了传统的"{0}"格式.因此在长字符串时,使用对象化格式化字符串是非常方便的,不用再数数了.实现逻辑如下:

//方法位于静态类中进行调用
     
     /// <summary>
        /// 对象字符串格式化
        /// </summary>
        /// <param name="paramValues">参数对象</param>
        /// <returns>格式化后的字符串</returns>
        public static string Format(this string sourceString, Object paramValues)
        {
            foreach (System.Reflection.PropertyInfo property in paramValues.GetType().GetProperties())
            {
                object parseValue = property.GetValue(paramValues, null);
                sourceString = sourceString.Replace("$" + property.Name, parseValue == null ? string.Empty : parseValue.ToString());
            }
            return sourceString;
        }

 

只需要进行如下调用即可实现字符串格式化:

sql.Format(new { AttributeSysNo = model.AttributeSysNo, Name = model.Name, SysNo = model.SysNo.TryInt(0) })

 

 C#6.0的格式化方法

var name="小明";
$"你好,我是{name}";

当你的项目还处于C#6.0以下的版本时,你可以使用我的格式化方法。

var strpams=new { Name="小明"};
"你好,我是$Name".Format(strpams);

 

 

 

 


 

 本帖感谢大家多提意见,互相增进学习,谢谢!

【原创】

 

posted @ 2018-01-04 10:59  名字什么都是浮云  阅读(551)  评论(0编辑  收藏  举报