Linq / Remove空格返回实际值'system.char'

时间:2017-08-01 17:52:58

标签: c# linq

我不明白我得到的输出。

我有以下代码:

    string s = "hello hello";
    s = s.ToCharArray().Where(c => !char.IsWhiteSpace(c)).ToArray().ToString();

由于某些原因,s返回'System.Char []'而不是'hellohello“

我错过了什么?

我知道可以使用REGEX或其他方式完成此操作。我对我所犯的任何错误感到好奇。

2 个答案:

答案 0 :(得分:3)

从查询中删除 ToString() ,该 'System.Char[]' 。您可以使用

删除所有空白字符
s = new string(s.Where(c => !char.IsWhiteSpace(c)).ToArray());

答案 1 :(得分:3)

你在一个字符数组上调用ToString(),因此值'System.Char []'

尝试使用

new string(s.ToCharArray().Where(c => !char.IsWhiteSpace(c)).ToArray())

(请注意,这会删除ToString()生成的数组上ToArray()的调用)