我有一个字符串,我想检查它是否包含任何无效的文件名字符。我知道我可以用
Path.GetInvalidFileNameChars
Run Code Online (Sandbox Code Playgroud)
获取无效文件名字符数组并循环查看字符串是否包含任何无效字符。但是有没有更简单更短的表达方式?它是 C#。那么有人可以帮忙吗?
bool containsInValidFilenameCharacters(string str) {
return str.Any(Path.GetInvalidFileNameChars().Contains)
}
Run Code Online (Sandbox Code Playgroud)
请注意,这与执行相同
var invalidChars = Path.GetInvalidFileNameChars();
return str.Any(c => invalidChars.Contains(c));
Run Code Online (Sandbox Code Playgroud)
但是由于类型签名Contains与参数委托类型完全匹配,Any我们可以直接传递它,它会进行隐式转换。