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


    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。其实很多时候都是被自己想的困难给吓倒了,需要学习的东西还有很多,继续加油!

     

  • 相关阅读:
    ZKW费用流修正
    BZOJ 1060 [ZJOI2007]时态同步
    BZOJ 1059 [ZJOI2007]矩阵游戏
    腾讯WEB前端开发面试经历,一面二面HR面,面面不到!
    亲历腾讯WEB前端开发三轮面试经历及面试题
    2015大型互联网公司校招都开始了,薪资你准备好了嘛?
    10款最好的 Bootstrap 3.0 免费主题和模板
    python3之urllib基础
    python3下应用requests
    python心得二(编码问题)
  • 原文地址:https://www.cnblogs.com/jas0203/p/9818267.html
Copyright © 2020-2023  润新知