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. DenseASPP论文总结

    论文地址:http://openaccess.thecvf.com/content_cvpr_2018/papers/Yang_DenseASPP_for_Semantic_CVPR_2018_pap ...

  2. rabbitmq在linux下单节点部署和基本使用

    RabbitMQ是基于erlang开发的消息服务,官网为:https://www.rabbitmq.com,RabbitMQ要依赖erlang运行,所以要先安装erlang环境,rabbitmq可以用 ...

  3. ANR日志分析

    2018年06月27日 16:28:13 Hello__code 阅读数 3427更多 分类专栏: bug记录   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出 ...

  4. -[UITableView copyWithZone:]: unrecognized selector sent to instance 0x7XXXXXX00

    -[UITableView copyWithZone:]: unrecognized selector sent to instance 0x7XXXXXX00 -[Class copyWithZon ...

  5. SQL调用另一台服务器的表及存储过程(SQL函数openrowset()的使用以及相关问题处理)

    --查询表select * from openrowset('SQLOLEDB', 'IP'; 'sa'; '密码',数据库名称.dbo.表名称) --查询存储--示例1select * from o ...

  6. postman传数组参数

  7. Spring生态圈的概要说明

    Spring生态圈的概要说明   以下摘抄自<Spring Boot实战>一书某章节. ================================= Spring 主要jar包 (1 ...

  8. 右键管理员身份打开 命令行cmd

    添加到注册表将下面命令保存为reg文件: Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\Directory\shell\runas] ...

  9. Ubuntu下局域网快速分享文件

    本地主机名:zhang 本地环境:Ubuntu 18.04.3 工作中经常需要在多个机器上互传文件,本文分享一种便捷的方法,仅供应急使用. 利用了mdns和python3内置的httpServer.( ...

  10. jquery如何生成图片验证码

    jQuery(function($){ /**生成一个随机数**/ function randomNum(min, max) { return Math.floor(Math.random() * ( ...