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项=成员
?