2013-06-19 89 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();