2013-06-19 90 views
0

我試圖將字符串拆分爲部分數組,並將它們結尾合併爲結果字符串。 但是,當我測試了一下,我收到一條消息。C#使用數字和字母轉換/分割字符串

按下convert_click:

"NullRefenceException was unhandeled"

Object reference not set to an instance of an object.

這裏主要代碼:

public string []parts { get; set; } 
    public string inputStr { get; set; } 

    private void inputText_TextChanged(object sender, EventArgs e) 
    { 
     String inputStr = inputText.ToString(); 
     //example 
     //inputStr = "984, fenceshit2, 0, 1994.56025813, -1592.16428141, 16.105, 0.653280779782, 0.270598520636, 0.653281646552, 0.270598879665, -1"; 
    } 

    private void convert_Click(object sender, EventArgs e) 
    { 
     String creObj = "CreateObject("; 
     String result; 
     String[] parts = inputStr.Split(new char[] { ',' }); 

     result = creObj + 
       parts[0] + "," + 
       parts[2] + "," + 
       parts[3] + "," + 
       //...up to "parts[10" 
       ");"; 
     outputText.Text = result; 
     //output(should be in this case): 
     //"CreateObject(984, 1994.56025813, -1592.16428141, 16.105, 0.653280779782, 0.270598520636, 0.653281646552, 0.270598879665, -1);" 
    } 

    //If I need to creat a code line in the main Designer.cs, please let me know. 

我只是想將一個字符串分解,並最終將它們合併成1串並將其發送到文本框中。

如果有人想要源代碼,下午我。

+0

什麼'Console.WriteLine(inputStr)'輸出? –

+0

如果您創建了一個控制檯程序並且達到此行,它將寫入一個inputStr值的行。 – Knolle

回答

1

因爲您正在將inputText.toString()分配給本地inputStr。內部功能inputText_TextChanged,只寫

inputStr = inputText.Text; 
+0

如果我這樣做,我會遇到新的問題。 '不可使用的成員'System.Windows.Forms.Control.Text'不能像方法一樣使用。' – Knolle

+0

我猜測inputText是TextBox控件。我可以知道inputText控件是什麼嗎? – cissharp

+0

你是什麼意思「控制」? – Knolle

0

您聲明輸入字符串的本地副本,當你真的想被分配給公衆一個。

而不是

String inputStr = inputText.ToString(); 

只是這樣做:

inputStr = inputText.ToString();