Well, I know in fact that "!" means NOT, and I quite understand the "IsNullOrWhiteSpace" function destination. But once upon, when I surfed through the Internet in terms of finding how to delete whitespaces, I've faced that kind of syntax:
if (!string.IsNullOrWhiteSpace(s))
{
writer.WriteLine(s);
}
How should I understand such a syntax? Exclamation mark before the DATATYPE(!!!), then the datatype calls the function with the parameter of my string, later being written to some file. And, by the way, is there a better approach to delete empty lines if my file from where I read text has several (maybe, more or less) whitespaces between the actual strings?
答案 0 :(得分:2)
您发布的代码段并不会删除空行,只会将其从写入中删除。这意味着writer.WriteLine(s);
部分没有调用空行。
DATATYPE(!!!)之前的感叹号
在调用IsNullOrWhiteSpace
类型的静态方法System.String
之前,它不在数据类型之前。您可以研究here。这个方法的结果是布尔值。因此,您将一个否定运算符(!
)应用于布尔结果。当结果等于true
时,即传递给s
参数中的IsNullOrWhiteSpace方法的字符串为空或空格,否定运算符使其为false
,反之亦然。之后,if
语句将!
运算符工作(true
或false
)的结果生效,并决定下一步该做什么。
顺便说一下,如果有更好的方法来删除空行 我从哪里读文本的文件有几个(可能,或多或少) 实际字符串之间的空格?
所以你要从文件中读取并写入另一个或同一个文件。您的方法可行,但请记住,s
必须是初始文件中的一行,而不是单词或符号。
答案 1 :(得分:0)
IsNullOrWhiteSpace
是在System.String
类型上定义的static method(可以缩写为string
)。