2017-08-20 64 views
-2

只是數我有一個這樣的字符串:獲取的字符串C#

String mainString = "11;22;33;44;55;66"; 

,我希望得到公正的數字,並把它們在數組或列表。

我做了什麼至今讓;位置:

static void Main(string[] args) 
    { 
     String mainString = "11;22;33;44;55;66"; 
     int count = mainString.Split(';').Length - 1; 
     int firstComma = mainString.IndexOf(';'); 
     int index = mainString.IndexOf(';'); ; 

     System.Console.WriteLine(firstComma); 
     for (int i = 1; i < count; i++) 
     { 
      index = mainString.IndexOf(';', index + 1); 
      System.Console.WriteLine(index); 
     } 

     Console.ReadKey(); 
    } 
+1

您已經在使用'string.Split(';')'。爲什麼不使用生成的數組? – ainwood

+0

我不知道用戶輸入的匹配數是多少,也許是「11; 22; 33」,mayber只是一個「11」。 – Yaaqoub

+0

作爲一個旁註,它是一個分號,而不是一個逗號 –

回答

2

不明白爲什麼你讓這個如此複雜。

static void Main(string[] args) 
{ 
    string mainString = "11;22;33;44;55;66"; 
    string[] array = mainString.Split(";"); 

    foreach (var s in array) 
    { 
     System.Console.WriteLine(s); 
    } 

    Console.ReadKey(); 
} 
+0

我試過它是工作謝謝你.. – Yaaqoub

5

您已經在使用string.Split。只需將字符串轉換爲整數。

String mainString = "11;22;33;44;55;66"; 
int[] ints = mainString.Split(';').Select(x => int.Parse(x)).ToArray(); 
+0

你至少可以解釋LinQ ... –

+0

@CamiloTerevinto哪個部分很難:) – Eser

+1

對我而言,沒有。對於一個剛剛開始使用C#的人來說,可能是Split部分之後的所有東西(注意到OP甚至不知道Split是如何工作的......) –