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

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 @   名字什么都是浮云  阅读(553)  评论(0编辑  收藏  举报
编辑推荐:
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
阅读排行:
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· RFID实践——.NET IoT程序读取高频RFID卡/标签
点击右上角即可分享
微信分享提示