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;
}
谢谢
解决方案
您遇到的问题item
不是 a string
:它是 a 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
。通常,将变量声明为更接近其用途,并在尽可能小的范围内是一种好习惯。