在消息列表中显示数组列表内的元素

问题描述

| 我有一个名为str的数组列表,我想查看该数组列表中的元素,如何使用消息框显示该列表? ps。显示元素的第一个字段也很好 示例代码(我创建的一种用于从api检索数据的方法
void downloader_OpenReadCompleted(object sender,OpenReadCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                Stream responseStream = e.Result;
                StreamReader responseReader = new StreamReader(responseStream);
                string response = responseReader.ReadToEnd();

                string[] split1 = Regex.Split(response,\"},{\");
                List<string> pri1 = new List<string>(split1);
                pri1.RemoveAt(0);
                string last = pri1[pri1.Count() - 1];
                pri1.Remove(last);

                str = pri1;
            }
        }
    

解决方法

要显示逗号分隔的值:
var list = new List<string> { \"tes1\",\"test2\",\"test3\" };

var message = string.Join(\",\",list);
MessageBox.Show(message);
[更新] 您可以在代码中进行一些增强:
private void button1_Click(object sender,RoutedEventArgs e)
{
    var response = \"asdf},{asaaa},{shf\";
    var split = Regex.Split(response,\"},{\");

    var elements = split
        .Skip(1)
        .Take(split.Length - 2)
        .ToList();

    var message = string.Join(\",elements);
    MessageBox.Show(message);
}
    ,MessageBox.Show(String.Join(\“ \”,str),但是您真的确定要这样做吗?我的意思是,将列表显示在Silverlight ChildWindow中显示的ItemsControl中会不会更有吸引力?
<ChildWindow>
 <ItemsControl ItemsSource=\"{Binding str}\">
   <ItemsControl.ItemTemplate>
     <DataTemplate>
       <TextBlock Text=\"{Binding}\"/>
     </DataTemplate>
   </ItemsControl.ItemTemplate>
</ItemsControl
</ChildWindow>
    ,我通常会这样:
    public void PrintList(IList<object> list)
    {
        string printString = \"List Elements\";

        foreach (object o in list)
        {
            // Add the fields you want to show here
            printString += \"\\n\" + o.ToString();
        }

        MessageBox.Show(printString);
    }
在实现中,将ѭ5替换为存储从API获取的信息的类,然后将要查看的字段添加到
printString += ...
行。     ,Linq为所需的格式增加了灵活性:
var list = new List<string>{\"one\",\"two\",\"three\"};

var consolidatedList = list.Aggregate((s1,s2) => String.Format(\"{0} {1}\",s1,s2));
//consolidatedList = \"one two three\"

MessageBox.Show(consolidatedList)
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...