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() })
C#6.0的格式化方法
var name="小明";
$"你好,我是{name}";
当你的项目还处于C#6.0以下的版本时,你可以使用我的格式化方法。
var strpams=new { Name="小明"};
"你好,我是$Name".Format(strpams);
本帖感谢大家多提意见,互相增进学习,谢谢!