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);
本帖感谢大家多提意见,互相增进学习,谢谢!
【原创】
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· RFID实践——.NET IoT程序读取高频RFID卡/标签