簡體   English   中英

范圍之間的字符串或字符,無正則表達式(切換)

[英]String or Char between range without RegEx (Switch)

在不使用RegEx的情況下,還有其他方法可以確定字符是字母還是數字? 這是我的代碼:

void IdentifyChar(char Chr)
{
    switch (Chr)
    {
        case // A..Z or A-Z
    }
}

我知道這是有可能的,因為前一段時間我下載了一個包含此代碼的項目,並且該項目有效。 任何想法?

您可以使用

Char.IsLetterOrDigit(Chr)

有關其他Char Methods請參見http://msdn.microsoft.com/en-us/library/424s1h3z

C#不支持在開關 內使用基於范圍大小寫 ,盡管除當前目標外,還有其他幾種選擇可以使用。

下面介紹幾種方法。

 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:
    ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM