C# 在asp.net中将值添加到列表框之前,如何检查列表框中是否已存在值
如何检查该值是否已存在于列表框中,以避免重复 我已经在服务器端列表框中添加了一些值,当我添加到列表中时,会得到更多的重复项 如何避免重复C# 在asp.net中将值添加到列表框之前,如何检查列表框中是否已存在值,c#,asp.net,.net,listbox,C#,Asp.net,.net,Listbox,如何检查该值是否已存在于列表框中,以避免重复 我已经在服务器端列表框中添加了一些值,当我添加到列表中时,会得到更多的重复项 如何避免重复 lst_Viewers.Items.Add(reader["Name"].ToString()); 或 另一种方法是将所有值插入列表,然后仅在循环后添加项,使用.Distinct()仅获取唯一值: List<string> names = new List<string>(); while (reader.Read()) na
lst_Viewers.Items.Add(reader["Name"].ToString());
或
另一种方法是将所有值插入
列表
,然后仅在循环后添加项,使用.Distinct()
仅获取唯一值:
List<string> names = new List<string>();
while (reader.Read())
names.Add(reader["Name"].ToString())
names.Distinct().ToList().ForEach(name => lst_Viewers.Items.Add(name));
列表名称=新列表();
while(reader.Read())
Name.Add(读卡器[“Name”].ToString())
name.Distinct().ToList().ForEach(name=>lst_Viewers.Items.Add(name));
这样,您就不必在每次迭代中搜索整个下拉列表-更优雅(在我看来)和更高效。在添加之前是否可以清除列表框?这样您就永远不会得到重复或过期的项目。@abatishchev这不是Murthy想要的。他想在检查重复值之前将项目添加到列表框中。
ListItem item = new ListItem(reader["Name"].ToString());
if ( ! lst_Viewers.Items.Contains(item) ){
lst_Viewers.Items.Add(item);
}
var name = reader["Name"].ToString();
ListItem item = lst_Viewers.Items.FindByText(name);
if ( item == null ){
lst_Viewers.Items.Add(new ListItem(name));
}
List<string> names = new List<string>();
while (reader.Read())
names.Add(reader["Name"].ToString())
names.Distinct().ToList().ForEach(name => lst_Viewers.Items.Add(name));