如何将变量的值转换为字符串?

时间:2019-06-13 17:10:19

标签: c#

我正在尝试将item添加到我的listView中。 listView填充了,但是我得到了:

  

Systems.Collection.Generic.List'1 [System.String]

这是我要使用的代码:

foreach (SearchResult entry in result)
        {
            var members = GetGroupMemberList(entry.GetDirectoryEntry());
            var item = members;
            itmListItem = new ListViewItem((string)entry.Properties["sAMAccountName"][0]);
            itmListItem.SubItems.Add(item.ToString());
            lvwListView.Items.Add(itmListItem);
            lvwListView.Refresh();
            itmListItem = null;
        }

谢谢

1 个答案:

答案 0 :(得分:3)

您遇到的问题是item不是string:它是List<string>,因此在其上调用ToString()不会显示更多信息比其类型有意义。通常,人们真的很想得到类似逗号分隔的项目列表来显示,这可以通过说string.Join(", ", members)来实现。

但是我正在阅读这里的茶叶,并认为您可能真的希望item中的每个members作为列表中的子项目显示,您可以这样完成:

    foreach (SearchResult entry in result)
    {
        var members = GetGroupMemberList(entry.GetDirectoryEntry());
        foreach(var item in members)
        {
            var itmListItem = new ListViewItem((string)entry.Properties["sAMAccountName"][0]);
            itmListItem.SubItems.Add(item.ToString());
            lvwListView.Items.Add(itmListItem);
        }
        lvwListView.Refresh();
    }

请注意,我将itmListItem声明为更靠近您实际使用的位置,因此以后不必将其设置为null。通常最好的做法是声明变量,使其更接近用法,并在尽可能小的范围内进行。