字符串过滤器:检测非ASCII标志

Nik*_*lin 4 .net string encoding

我正在创建一个将输入字符串发送到移动设备的应用程序.某些设备在编码特殊字符时遇到问题,因此我想创建一个不允许PC上的用户输入特殊字符的过滤器.

该应用程序是用C#(.NET 3.5)编写的,我想将一个方法附加到按键事件.伪代码如下:

private void checkTextBoxContent(TextBox txtEntry)
{
    if(txtEntry.Text contains non-ASCII sign)
    {
        show messageBox;
        remove the last entered character;
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有人知道是否有任何检测ASCII /非ASCII符号的现有方法,以便可以在条件中使用

txtEntry.Text包含非ASCII符号?

谢谢!

Jon*_*eet 6

那么你可以这样做:

public static bool IsAllAscii(string text)
{
    return text.All(c => c >= ' ' && c <= '~');
}
Run Code Online (Sandbox Code Playgroud)

我不确定你是否真的想要删除最后输入的字符 - 考虑剪切和粘贴整个非ascii字符串...