从字符声明字符串会产生意外结果。为什么会这样呢?

亚历山大·谢尔盖维奇(Aleksandr Sergeevich)

半天寻找这个错误。为什么在第三种情况下出现意外结果?

        // case 1
        string value1 = "a" + "a" + "A";  
        byte[] asciiBytes1 = Encoding.ASCII.GetBytes(value1); // expected: 97 - 97 - 65
        Console.WriteLine(string.Join(" - ", asciiBytes1));   //   result: 97 - 97 - 65

        // case 2
        string value21 = 'a' + "A"; 
        byte[] asciiBytes21 = Encoding.ASCII.GetBytes(value21); // expected: 97 - 65
        Console.WriteLine(string.Join(" - ", asciiBytes21));    //   result: 97 - 65 

        // case 3
        string value22 = 'a' + 'a' + "A"; 
        byte[] asciiBytes22 = Encoding.ASCII.GetBytes(value22); // expected: 97 - 97 - 65
        Console.WriteLine(string.Join(" - ", asciiBytes22));    //   result: 49 - 57 - 52 - 65
亚当

您正在混合字符和字符串。这:'a'+'a'导致ascii char值的整数相加。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用“%c%c ...”格式说明符来打印字符串会产生不稳定的结果。为什么会这样呢?

为什么此python字符序列代码会产生意外结果?

尝试将字符串/字符转换为整数会产生意外结果

为什么“大于”数字比较会产生意外结果

为什么在Excel中查找会产生意外结果?

为什么mySQL查询会产生意外结果?

参数化的字符串格式会产生意外结果

使用char **指针的字符串操作代码会产生意外结果

gawk 中的字符串连接产生意外结果

比较产生意外结果的字符串

C ++使用std :: get_time解析YYMMDD ISO 8601日期字符串会产生意外结果吗?

readline()产生意外的字符串

为什么在这里多次分配会产生意外的结果?

为什么-O4编译器指令会产生意外结果?

为什么在case语句内部调用random()会产生意外结果?

为什么在std :: string上使用Sizeof运算符会产生意外结果?

为什么MySQL中的Modulo(带有负数)会产生意外结果?

指针取消引用的多态会产生意外的结果……为什么?

为什么将char类型用作循环索引会产生意外结果?

为什么C中的此函数会产生意外结果?

以特殊字符开头或结尾的单词的单词边界会产生意外结果

Java中的字符串拆分会产生意外的结果

熊猫数据框替换列中的子字符串产生意外结果

为什么PHP会产生意外的输出?

为什么此装饰程序会产生意外的输出?

MySQL和MariaDB-将表示带有多个前导零的十进制值的字符串转换为数值会产生意外结果

使用内存获取字符串会产生错误的结果

python - 用条件替换字符串会产生奇怪的结果

为什么在递归调用中为字符串编制索引会产生不同的结果?