检查字符串列表是否包含不可打印的字符

时间:2020-07-06 23:47:34

标签: c# linq

使用LINQ如何检查字符串列表中的任何字符是否包含不可打印的字符

private bool CheckValidChars(List<string> inputList)
 {
   foreach(string s in inputList)
   {
     // Check each string for no printable chars ( 0x00 <= ch < 0x20 ) 
     // LINQ statment

   }
}

1 个答案:

答案 0 :(得分:3)

您的问题的标题意味着您想要一个方法,如果有任何无效字符,则返回true,但是如果没有字符,则该方法似乎要返回true。我假设是后者。

执行此操作的简单方法是,一旦发现无效字符,就尽早失败,然后使用!翻转值。在一个完全有效的列表中,需要遍历整个列表和每个字符来确定有效性,但是如果列表无效,那么当它在第一个字符串中找到无效的第一个字符时,该代码将停止。

这是代码:

private bool CheckValidChars(List<string> inputList) =>
    !inputList.Any(s => s.Any(c => c < 0x20));
相关问题