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);
本帖感谢大家多提意见,互相增进学习,谢谢!
【原创】