2013-10-01 26 views
-1

如何在不使用數組的情況下將單行輸入分爲3個不同的變量? (x,y,z)每個部分由空格分開在單行中分隔字符串

Ex。 184 41890 42891

我到目前爲止的代碼只是在循環中一次讀取一行字符。

c = Chr(reader.Read) 
    s = "" 
    Do While (ch <> vbCr) And (ch <> Chr(32)) And (reader.Peek <> -1) 
     Select Case c 
      Case "0" To "9" 
       s = s & c 
      Case Else 
       MsgBox("Error") 
     End Select 
     c = Chr(reader.Read) 
    Loop 

回答

1

你想避免完全使用數組,或只是結束了特定字符串中的部分?你可以這樣做:

 string input = "184 41890 42891"; 
     string[] parts = input.Split(' '); 
     string myCustomString1 = parts[0]; 
     string myCustomString2 = parts[1]; 
     string myCustomString3 = parts[2]; 

雖然這有問題,因爲你需要知道將有多少部分,以便你可以有足夠的字符串設置。數組的優點是它們是靈活的,可以是任何你想要的大小。

+0

我想盡量避免使用數組。我試圖將它們分開,因爲我想在另一個計算中使用x,y,z。將會有很多行輸入(相同的格式)。如果計算包含在循環中,我可以繼續使用相同的3個變量而不是新的變量嗎? – user2833837

+0

是的,您可以通過在循環之外定義變量來重用變量。所有的輸入字符串只有三段,並且總是用空格分隔嗎? – guymid

+0

是的它看起來與示例輸入完全一樣,只是數字不同 – user2833837