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

C# 如何将变量的值转换为字符串?,c#,C#,我正在尝试将项添加到我的列表视图。listView将被填充,但我得到了以下信息: Systems.Collection.Generic.List'1[System.String] 这是我尝试使用的代码: foreach (SearchResult entry in result) { var members = GetGroupMemberList(entry.GetDirectoryEntry()); var item = mem

我正在尝试将
项添加到我的
列表视图
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;
        }

谢谢

您遇到的问题是,
不是一个
字符串
:它是一个
列表
,因此在它上调用
ToString()
不会显示比它的类型更有意义的内容。通常,人们真的希望得到一个以逗号分隔的项目列表来显示,这可以通过说
string.Join(“,”,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
。通常最好的做法是在尽可能小的范围内声明更接近其用法的变量。

由于
成员
是一个列表,您是否希望将该列表中的每个项添加到
子项
?可能像
foreach(成员中的var项)
而不是
var项=成员