拆分字符串后显示System.String[]而非实际值,求C#字符串处理方案
解决C#字符串拆分后输出
System.String[]的问题 嘿,我懂你碰到的这个小坑了!你看到System.String[]是因为直接输出了拆分后的数组对象,而没有访问数组里的具体元素。咱们一步步把问题捋顺解决:
问题根源
你的目标字符串是:
"0x00=jU0UrZBkqPXfp8MsMoILSRylevQGaUmJRnpFbfUvcGs=7lvpCgtyWl0 : crypt_wallet"
你需要按:(空格+冒号+空格)这个完整分隔符拆分取前半部分,但如果直接打印拆分后的数组,C#会默认输出数组的类型名称System.String[],而非数组内的实际内容。
修复后的代码
我给你调整了代码,既解决了拆分问题,还优化了路径拼接的安全性:
using System.IO; // 记得引用这个命名空间 public static string[] config = File.ReadAllLines(Path.Combine(Environment.CurrentDirectory, "documents", "config.json")); public static void Start() { // 先获取目标行的字符串 string targetLine = config[4]; // 按指定的完整分隔符拆分,同时移除空元素避免意外 string[] splitParts = targetLine.Split(new[] {" : "}, StringSplitOptions.RemoveEmptyEntries); // 确保拆分成功后再输出第一个元素 if (splitParts.Length > 0) { Console.WriteLine(splitParts[0]); // 这里就是你要的"0x00=jU0UrZBkqPXfp8MsMoILSRylevQGaUmJRnpFbfUvcGs=7lvpCgtyWl0" } else { Console.WriteLine("拆分失败,未找到指定分隔符"); } Console.ReadKey(); }
关键细节说明
- 用
Path.Combine拼接路径:比直接字符串拼接更可靠,它会自动适配不同操作系统的路径分隔符,避免出现路径错误。 - 正确使用
Split方法:这里用字符串数组new[] {" : "}作为分隔符,确保是按整个:字符串拆分,而不是被单个空格或冒号拆碎。 - 添加数组长度判断:防止如果目标行格式不符合预期时,出现索引越界的异常。
- 访问数组具体元素:必须通过索引(比如
splitParts[0])获取拆分后的内容,而不是直接输出数组对象本身。
内容的提问来源于stack exchange,提问作者Lv_InSaNe_vL
相关产品推荐
相关产品推荐

