C#列表输出值异常:文本文件打印类型名而非实际值如何解决?
问题原因
- 你调用的是
string.Join(string separator, params object[] values)这个重载,List1和List2被当作两个独立的object参数传入。而List<T>的默认ToString()方法会返回其类型全称,所以最终输出的是两个列表的类型信息,而非列表中的实际元素。
解决方法
有两种常见的可行方案:
合并两个列表后统一拼接
使用Concat()方法将两个List<string>合并为一个IEnumerable<string>,再传入string.Join处理:strOutputs.Add(string.Join(",", List1.Concat(List2)));这种方式会遍历合并后的所有字符串元素,将它们用逗号分隔拼接。
分别拼接两个列表后再合并结果
如果需要明确区分两个列表的拼接结果(比如先完整拼接List1的元素,再拼接List2的元素),可以先单独处理每个列表,再合并最终字符串:strOutputs.Add($"{string.Join(",", List1)},{string.Join(",", List2)}");
内容的提问来源于stack exchange,提问作者GIS_developer
相关产品推荐
相关产品推荐

