1

来自服务器的数据需要拆分为ListBox. 下面是我的代码。

private void button1_Click_2(object sender, EventArgs e)
        {
            //String[] arr = new String[1];
            listBox1.Items.Clear();

            listBox1.Items.Add("No Of Items=" + _server.Q.NoOfItem.ToString());
            for (int i=0; i <= _server.Q.NoOfItem - 1; i++)
            {
                listBox1.Items.Add( _server.Q.ElementAtBuffer(i).ToString());               
            }

            listBox2.Items.Add("No Of Items=" + _server.Q.NoOfItem.ToString());
            for (int i = 0; i <= _server.Q.NoOfItem - 1; i++)
            {
                String words = _server.Q.ElementAtBuffer(i).ToString();               
                listBox2.Items.Add(words.Split(new char[] { '[' , ']', ' '}));                
            }

listBox1应该显示从服务器检索到的所有数据。 listBox2应该显示已拆分的数据。

如何才能做到这一点?

4

4 回答 4

0

这应该有效:

    private void button1_Click_2(object sender, EventArgs e)
    {
        //String[] arr = new String[1];
        listBox1.Items.Clear();

        listBox1.Items.Add("No Of Items=" + _server.Q.NoOfItem.ToString());
        for (int i=0; i <= _server.Q.NoOfItem - 1; i++)
        {
            listBox1.Items.Add( _server.Q.ElementAtBuffer(i).ToString());               
        }

        String words = _server.Q.ElementAtBuffer(i).ToString();  
        listBox2.Items.Add("No Of Items=" + _server.Q.NoOfItem.ToString());
        listBox2.Items.AddRange(words.Split(new char[] { '[' , ']', ' '}));           
    }     
于 2012-06-26T09:33:19.270 回答
0
    listBox1.Items.Clear();

    listBox1.Items.Add("No Of Items=" + _server.Q.NoOfItem.ToString());
    listBox2.Items.Add("No Of Items=" + _server.Q.NoOfItem.ToString());

    for (int i = 0; i <= _server.Q.NoOfItem - 1; i++)
    {
        listBox1.Items.Add(_server.Q.ElementAtBuffer(i).ToString());

        String words = _server.Q.ElementAtBuffer(i).ToString();
        string[] arr = words.Split(new char[] { '[', ']', ' ' });
        foreach (string word in arr)
            listBox2.Items.Add(word);
    }
于 2012-06-26T09:38:26.287 回答
0

您是否尝试过使用正则表达式:

var pattern = @"\[(.*?)\]"; 
var matches = Regex.Matches(words, pattern);  
foreach (Match m in matches)
{  
   listBox2.Items.Add(/* Add matched item */);
}
于 2012-06-27T05:38:30.310 回答
-1
string[] strArray = words.Split(new char[] { '[' , ']', ' '})
for(int x = 0; x < strArray.Count; x++)
{listBox2.Items.Add(strArray[x]}

我猜你想拆分单词并添加列表框 2

于 2012-06-26T09:36:25.283 回答