是否有任何其他选项可以在不使用 RegEx 的情况下识别字符是字母还是数字?这是我的代码:
void IdentifyChar(char Chr)
{
switch (Chr)
{
case // A..Z or A-Z
}
}
我知道这是可能的,因为前段时间我下载了一个带有此代码的项目,并且它有效。任何的想法?
是否有任何其他选项可以在不使用 RegEx 的情况下识别字符是字母还是数字?这是我的代码:
void IdentifyChar(char Chr)
{
switch (Chr)
{
case // A..Z or A-Z
}
}
我知道这是可能的,因为前段时间我下载了一个带有此代码的项目,并且它有效。任何的想法?
您可以使用
Char.IsLetterOrDigit(Chr)
有关其他信息,请参见http://msdn.microsoft.com/en-us/library/424s1h3zChar Methods
C# 不支持switch内基于范围的情况,但除了您当前的目标之外,还有其他几种替代方法可供使用。
下面介绍几种方法。
if (Char.ToLower (Chr) >= 'a' && Char.ToLower (Chr) <= 'z') {
...
} else
if (Chr >= '0' && Chr <= '9') {
...
} else {
...
}
if (Char.IsLetter (Chr)) {
...
} else
if (Char.IsDigit (Chr)) {
...
} else
{
...
}
category
您可以通过以下链接找到更多方法(以及相关信息)来找出某个角色所在的位置:
- msdn.microsoft.com - 字符结构(系统)
不推荐:有一种使用开关的“基于范围”的方法,但它不涉及指定范围,而是指定与特定情况相关的所有值,如下所示:
switch (Chr) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
...
break;
default:
...
}