2013-06-28 49 views
3

我在C#中的新手,我想弄清楚如何檢查是否字符數組值完全由數字/數字/數字檢查字符數組只包含數字/數字

我想這代碼:

bool t=true; 
for (int k = 0; k < chain.Length; k++) 
{ 
    if(!(Convert.ToInt32(chain[k]) in {"0","1","2","3","4","5","6","7","8","9"})) 
     {t=false ; } 
      } 

的語法是不正確的,我想知道是否有一個簡單的方法做此項檢查,而不使用T-SQL。

+0

不知道爲什麼你提到的T-SQL,如果char數組位於本地計算機(.Net應用程序)上,則該值不再在Sql Server中。 –

回答

8

使用LINQ .Allchar.IsDigit

var isNumeric = chain.All(char.IsDigit); 
+0

只是打敗了我:) –

2

如果你是新的,這裏有一個更多...經典的方式:

bool t = true; 
foreach (char ch in word) 
{ 
    if (!char.IsDigit(ch)) 
    { 
     t = false; 
     break; 
    } 
} 
+0

一個改進:像這樣的代碼應該總是使用'break'在最終結果已知時立即停止迭代。 – Jon

+0

是的,你是對的。首先,我將它作爲一種方法編寫,而不是返回一個bool的代碼序列,然後我想要嘗試匹配manu的代碼,所以我忘記了休息時間。我已經更新了它。 – VasileF

0
private bool ValuesAreNumeric(object[] values) 
{ 
    foreach (var value in values) 
    { 
     var stringValue = Convert.ToString(value); 
     double number; 
     if (!double.TryParse(stringValue, out number)) return false; 
    } 

    return true; 
} 
相關問題