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



我不明白我得到的输出。

我有以下代码:

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

出于某种原因,s 返回 'System.Char[]' 而不是 'hellohello'

我错过了什么?

我知道这可以通过REGEX或其他方式完成。我只是对我犯的任何错误感到好奇。

您正在对字符数组调用ToString(),因此值为"System.Char[]">

尝试使用

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

相反(请注意,这将删除对ToArray()生成的数组ToString()的调用(

从将返回'System.Char[]'的查询中删除ToString()。您可以使用以下命令删除所有空格字符

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

最新更新