在WPF文本框中防止特殊字符

时间:2019-03-19 04:46:03

标签: c# wpf vb.net

我从此链接获得了以下C#代码:How to prevent users from typing special characters in textbox

  string allowedchar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
  if (!TXT_NewPassword.Text.All(allowedchar.Contains))
  {
   // Not allowed char detected
  }

以下代码是上述代码的vb.net版本

    Dim allowedchar As String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    If Not TXT_NewPassword.Text.All(allowedchar.Contains) Then
        ' Not allowed char detected
    End If

如何解决此错误? :https://prnt.sc/mzsmkd

错误消息:

  

过载解析失败,因为没有可访问的“包含”接受   这个数目的参数

1 个答案:

答案 0 :(得分:0)

如果您正在寻找LINQ解决方案,我会使用:

Dim allowedchar As String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
If Not TXT_NewPassword.Text.All(function(x) allowedchar.contains(x)) Then
    ' Not allowed char detected
End If

String.Contains需要一个将要搜索的参数。 .All遍历TXT_NewPassword.Text中的每个字母,而function(x)则允许您通过x访问该字母。