C# 字符串长度

标签 c#

为什么这两个字符串返回不同的长度值。 “CertificateKey”是一个属性。它返回 41 的长度。但是,等效的常量字符串返回 40。如果我将证书的值复制为常量,则长度返回 41。为什么?!?

// This is the property. Length 41
CertificateKey.Length

41

// This is a constant of the same string. Length 40
"9FE90CA8A4138F65E9E2C67D1F37B9D5B9919384".Length

40

// This is a copy of the value of the property above. Length 41
"‎9FE90CA8A4138F65E9E2C67D1F37B9D5B9919384".Length

41

最佳答案

我将你的两个字符串文字复制并粘贴到 LINQPad 中,发现我可以重现你的结果,所以我像这样打印每个字符:

var a = "9FE90CA8A4138F65E9E2C67D1F37B9D5B9919384";
var b = "‎9FE90CA8A4138F65E9E2C67D1F37B9D5B9919384";
foreach (char c in a) Console.WriteLine($"{(int)c:X}");
Console.WriteLine("---");
foreach (char c in b) Console.WriteLine($"{(int)c:X}");

得到如下结果:

39
46
[...]
34
---
200E
39
46
[...]
34

200Eleft-to-right mark

关于C# 字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51814931/

相关文章:

c# - 上传图片返回空文件

c# - 将 Hbase 与 C# 结合使用

c# - 当 SQL Server 中用户定义的表类型将所有列的默认值设置为 null 时,如何将具有较少列的 DataTable 传递给存储过程

c# - 如何获取通用列表中的比较项目

c# - 在 C# 中将 DataTable 转换为用于 SQL 的 CREATE TABLE + INSERT 脚本

c# - MSAL + Azure 应用服务

c# - 删除媒体库中的图像

c# - 如何以编程方式创建新的 Mongo 数据库?

c# - 对这个单元测试感到困惑!

c# - 在两个下拉列表 mvc 4 之间连接