C# 简单的拼接字符串操作,遇到的莫名其妙的问题。。。原来是个坑!!!

今天工作上遇到了一个莫名其妙的问题。。。。如下图:
这里写图片描述

变量 TempString 里面的值是当前方法接收到的参数,里面默认是一组逗号分隔的GUID值;
一开始执行了一个字符串替换语句 TempString = TempString.Replace(“\”“, “’”);
然后就是如图中的表示式 TempString = “’” + TempString.Replace(“,”, “’,’”) + “’”;
但发现末尾的单引号怎么都没有,后来试了几种拼接字符串的方式都一样!
最后突发奇想,直接用逗号分隔成数组看看里面的值!TempString.Split(‘,’);
结果发现最后一组数据的末尾居然有个 \0
后来上网一搜发现如下这块话:

’\0’字符在C#中意味着字符串结束,如果后面再有字符,则读取字符串的程序也不能读取和显示出来。

知道原因后,就好处理了,先判断下最后的字符是否是‘\0’:TempString[TempString.Length - 1] == ‘\0’
为True时,执行语句 TempString = TempString.TrimEnd(‘\0’); 删除末尾的字符’\0’,至此,问题解决!
此处备忘,也希望能帮助后来人!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霜影

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值