码迷,mamicode.com
首页 > Windows程序 > 详细

C#字符串连接问题(包含破折号和引号)

时间:2018-10-19 19:49:56      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:符号   问题   表示   info   学习   解决方法   col   end   str   

1.需求场景:

 生成字符串如下:jsonStr.Append("\"SensorTypes\":"); 

 解决方法:

string code = @"jsonStr.Append(""\""SensorTypes\"":""); ";

学到的知识点:

 1.@符在C#中有两种用法:

  a.在字符串前加上@符号,表示取消字符串中的转义。如上例所示:加上@符之后,字符串中的\不再当成转义字符,而仅仅是\而已。

  b.如果你起的对象/字段名称和C#本身自带的关键字冲突,也可以在名称前加上@符号(不推荐此用法,自己写的代码尽量不要和关键字冲突)。

        /// <summary>
        /// 是否选中
        /// </summary>
        public string @checked { get; set; }

       c.一开始的时候一直想利用转义字符\,稀里糊涂加了一堆破折号,生成的代码中没有破折号,结果也大相径庭。后来用@解决了生不成\的问题。然后发现如果你想生成的字符串中含有1个双引号,那么你需要在代码中这样写"",

如果想生成的字符串中含有2个",那代码需要这样写"""",以此类推。

例子1:

技术分享图片

 例子2:

//目标代码:jsonStr.Append("\"" + property.Name + "\":\"" + property.GetValue(sensor.SensorTypes[i], property.GetIndexParameters()) + "\"");
string code = @"jsonStr.Append(""\"""" + property.Name + ""\"":\"""" + property.GetValue(sensor.SensorTypes[i], property.GetIndexParameters()) + ""\""""); ";

技术分享图片

写在后面的话:其实这个问题困扰了我一段时间,一直不知道如何下手,试了几种写法,都不对。然后自己就不想解决了,后来静下心来,其实也没有那么难。现在回过头一看,so easy。其实很多时候都是被自己想的困难给吓倒了,需要学习的东西还有很多,继续加油!

 

 

C#字符串连接问题(包含破折号和引号)

标签:符号   问题   表示   info   学习   解决方法   col   end   str   

原文地址:https://www.cnblogs.com/jas0203/p/9818267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!