0

我试图将列表视图中的所有项目都放入一个字符串中,如下所示:

foreach(ListViewItem item in ListView1.Items)
{
     thisstring += item...?
}

item.Text 不是 item 的属性...似乎可以解决这个问题。有什么建议么?

4

4 回答 4

3

您可以使用 LINQ 选择所有项目Text

var allItems = ListView1.Items.Cast<ListItem>().Select(i => i.Text);
var allItemText = String.Join(",", allItems);

请注意,您需要添加System.LINQ命名空间。

编辑:我读过ListBox, ListView 没有 Text 属性,我不确定你真正想要连接什么文本。

于 2012-04-19T18:34:28.840 回答
1
foreach(ListViewItem item in ListView1.Items)
{
     thisstring += item.Text+",";
}
    thisstring.TrimEnd(',');

是不是很简单。

于 2012-04-19T18:39:23.503 回答
1
StringBuilder sb = new StringBuilder();
foreach(ListViewItem item in ListView1.Items)
{
     sb.Append(item.Text);
     sb.Append(',');
}

Console.WriteLine(sb.ToString().TrimEnd(','));

编辑:正如 Tim 和 Guest 所说,在 ASP.Net 中没有 ListViewItem 的 Text 属性,Windows Forms 具有 ListViewItem并且它具有 text 属性。ASP.Net ListView没有 Text 属性

于 2012-04-19T18:36:31.190 回答
0
   string.Join(" ", ListView1.Items.Cast<ListItem>().Select(i => i.Text).ToArray());
于 2012-04-19T18:36:48.660 回答