使用LINQ如何检查字符串列表中的任何字符是否包含不可打印的字符
private bool CheckValidChars(List<string> inputList)
{
foreach(string s in inputList)
{
// Check each string for no printable chars ( 0x00 <= ch < 0x20 )
// LINQ statment
}
}
答案 0 :(得分:3)
您的问题的标题意味着您想要一个方法,如果有任何无效字符,则返回true
,但是如果没有字符,则该方法似乎要返回true
。我假设是后者。
执行此操作的简单方法是,一旦发现无效字符,就尽早失败,然后使用!
翻转值。在一个完全有效的列表中,需要遍历整个列表和每个字符来确定有效性,但是如果列表无效,那么当它在第一个字符串中找到无效的第一个字符时,该代码将停止。
这是代码:
private bool CheckValidChars(List<string> inputList) =>
!inputList.Any(s => s.Any(c => c < 0x20));