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#字符串连接问题(包含破折号和引号)的更多相关文章

  1. MySQL:判断逗号分隔的字符串中是否包含某个字符串 && 如何在一个以逗号分隔的列表中的一个字段中连接MySQL中的多对多关系中的数据

    需求:      sql语句中,判断以逗号分隔的字符串中是否包含某个特定字符串,类似于判断一个数组中是否包含某一个元素, 例如:判断 'a,b,c,d,e,f,g' 中是否包含 'a',sql语句如何 ...

  2. Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接

    Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接 字符串是Python中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符 ...

  3. SQL判断字符串里不包含字母

    Oracle: 方法一:通过To_Number 函数异常来判断,因为这个函数在转换不成功的时候是报错,所以只能用存储过程包装起来. CREATE OR REPLACE FUNCTION Is_Numb ...

  4. [python]python子字符串的提取、字符串连接、字符串重复

    1. python使用索引运算符[]和切片运算符[:],来提取字符串. 第一个字符的索引是0,最有一个字符的索引是-1,切片运算符[x:y]表示提取从索引x到索引y-1的字符,不包含索引y. 示例: ...

  5. Java 处理json字符串value中多余的双引号

    转: Java 处理json字符串value中多余的双引号 一.错误场景 json字符串的value值中有多余的双引号 1.直接上错误的json字符串 1 String errorJsonStr =  ...

  6. MySQL rand(随机数)、floor(保留整数)、char(ASCII 转字符)、concat(字符串连接)

    一.MySQL的rand()函数 select rand(); rand()函数,随机0-1之间的数. 二.获得0-10之间的整数(包含0,不包含10) ; 其中floor()去掉小数. 三.获得指定 ...

  7. python笔记-字符串连接

    字符串连接 + 1.Java中其他基本数据类型和string做+,自动转成string处理 Python中没有此特性.需要先转成string再做拼接 2.每连接一次,就要重新开辟空间,然后把字符串连接 ...

  8. Python中字符串使用单引号、双引号标识和三引号标识,什么是三引号?什么情况下用哪种标识?

    一.三引号是指三个单引号或者三个双引号: 二.Python中字符串如果以单引号.双引号标识和三引号标识开头,则字符串结尾也必须是对应的标识,不能变更: 三.三者的异同: 1.三者都是字符串,大部分情况 ...

  9. 关于python字符串连接的操作

    python字符串连接的N种方式 注:本文转自http://www.cnblogs.com/dream397/p/3925436.html 这是一篇不错的文章 故转 python中有很多字符串连接方式 ...

随机推荐

  1. <每日 1 OJ> -LeetCode 28. 实现 strStr()

    题目: 实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存 ...

  2. js之select三级联动

    效果图如下: 代码逻辑梳理:层层递进,比如选择了课程后,将对应的课程id保存,然后点击选择章时自动触发对应的时间,根据这个课程ID获取其下面的章信息.其它的如节等,同理. 代码说明:如下代码不规范,可 ...

  3. js进行MD5加密(含中文),与后台JAVA加密之后结果不同(解决)

    开发小程序过程中与后台进行接口沟通,前期接口经过MD5加密和AES加密之后,后台进行解密. 今天出现一种情况,我前台加密之后的md5串与后台加密不同,后台发现可能是带用中文的原因, 这是加密之前的串: ...

  4. [SQL]用于提取组内最新数据,左连接,内连接,not exist三种方案中,到底谁最快?

    本作代码下载:https://files.cnblogs.com/files/xiandedanteng/LeftInnerNotExist20191222.rar 人们总是喜欢给出或是得到一个简单明 ...

  5. python dlib学习(五):比对人脸

    前言在前面的博客中介绍了,如何使用dlib标定人脸(python dlib学习(一):人脸检测),提取68个特征点(python dlib学习(二):人脸特征点标定).这次要在这两个工作的基础之上,将 ...

  6. 原创:【ajax | axios跨域简单请求+复杂请求】自定义header头Token请求Laravel5后台【亲测可用】

    如标题:我想在ajax的header头增加自定义Token进行跨域api认证并调用,api使用laravel5编写,如何实现? 首先,了解下CORS简单请求和复杂请求.  -- CORS简单请求 -- ...

  7. buddo源码分析-transport组件之Netty(一)

    dubbo 2.5.10 版本,netty仍然使用的是netty的3.10.5版本,我们从下面的代码可以看出,SPI默认使用的是“netty”,而不是“netty4”. package com.ali ...

  8. Java: Java终止线程的几种方式

    首先说明,使用stop方法终止的方式已经在很久之前就被废弃了,在加锁的情况下有可能会造成死锁,这里不做讨论. 1. 使用标志位终止线程 在run()方法执行完毕后,该线程就终止了.但是在某些特殊的情况 ...

  9. Q-Dir – 布局灵活的文件管理,强烈推荐

    Q-dir 是轻量的文件管理器,特点鲜明,各种布局视图切换灵活,默认四个小窗口组成一个大窗口,操作快捷.软件虽小,却非常好用 下载地址: https://www.softwareok.com/?Dow ...

  10. Better ultra_simple for Slamtec RPLIDAR on Linux

    Improved the ultra_simple program to visualize the samples with GLUT on Linux, tested with Slamtec R ...