2012-12-23 28 views
-3

我必須分析12位數字。所以我被卡在7號和8號之間。如果數字是40(第7位是4,數字8是0)給我「ex.London」,如果它是45給我「ex.NY」,我想要的是...分析12位數字的識別號碼

代碼:

[WebMethod] 
    public string ID(string number) 
    { 
     int fullInt = Int32.Parse(number); 
     string City1= number.Substring(0, 2); 
     string City1_S = "Date of birth: " + City1; 

     string City2 = number.Substring(2,2); 
     string City2_S = "Month: " + City2; 

     string City3 = number.Substring(4, 3); 
     string City3_S = "Year: 1" + City3; 

     string City4 = number.Substring(7, 2).Contains("40").ToString(); 
     string City4_S = "City: London"; 

     string[] Array= new string[3]; 
     Array[0] = City1_S.ToString(); 
     Array[1] = City2_S.ToString(); 
     Array[2] = City3_S.ToString(); 
     Array[3] = City4_S.ToString(); 

     return Array.ToString(); 
    } 
+0

從數字到'ex。*'的映射是如何工作的? – Ryan

+1

請在我們能夠幫助您之前添加更多細節。 –

+0

由於City4_S是一個字符串,因此不需要再次調用ToString()。 –

回答

3
[WebMethod] 
public string ID(string number) 
{ 
    int fullInt = Int32.Parse(number);// if (Regex.IsMatch(number, @"\D")) throw new ArgumentException(); 
    string City1_S = "Date of birth: " + number.Substring(0, 2); 
    string City2_S = "Month: " + number.Substring(2,2); 
    string City3_S = "Year: 1" + number.Substring(4, 3); 

    string City4_S = ""; 
    var digitStr = number.Substring(7, 2); 
    switch (digitStr) 
    { 
     case "40": 
      City4_S = "City: London"; 
      break; 
     case "45": 
      City4_S = "City: NY"; 
      break; 
    } 

    string[] Array = new [] { City1_S, City2_S, City3_S, City4_S }; 

    return Array.ToString();//something wrong =) 
    //return string.Join(" ", Array); 
    //return Array[0] + " " + Array[1] + " " + Array[2] + " " + Array[3]; 
} 
+0

它的工作原理,感謝您的回答:) – McKeymayker

+0

@PetarStojkovski是第一行,'int fullInt = Int32.Parse(number);',需要嗎? 「Int32.Parse」會在12位數字上引發異常(除非前導數字爲「0」)。如果你需要一個12位整數,你可以使用'long'('Int64')。 –

+0

是的,你是對的@JeppeStigNielsen,這是繼續我的代碼的問題,在if-else語句中,我遇到了問題,現在也可以工作,謝謝。 – McKeymayker