You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在C#中,(byte)' '转换为字符串后为何不包含' '?

为什么byte类型的换行符ToString后Contains换行符返回false?

核心原因是byte和char的ToString()行为完全不同:

  1. 对于((byte)'\n').ToString():
    byte是数值类型,(byte)'\n'本质是十进制数值10。调用ToString()时,会把这个数值转换成对应的数字字符串,结果是"10"。此时调用Contains('\n')是在字符串"10"里查找换行符,自然找不到,返回false。

  2. 对于'\n'.ToString():
    char是Unicode字符类型,'\n'本身代表换行符字符。调用ToString()时,会直接生成包含该换行符的字符串。此时调用Contains('\n')能匹配到目标字符,返回true。

再举个更直观的对比例子:

  • ((byte)65).ToString() 返回 "65"(数值转字符串)
  • ((char)65).ToString() 返回 "A"(字符转字符串)

内容的提问来源于stack exchange,提问作者D_00

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 08:58:09