c# - 如何将列表框项目复制到列表并将列表与另一个列表进行比较
问题描述
我有List<string> myList
和List<string> myList1
对象:我想比较它们,如果它们相似,我想弹出一个消息框,但是当我单击按钮时它什么也不显示。
list<string> myList =new list<string>();
list<string> myList1 =new list<string>();
myList1.Add("a");
myList1.Add("r");
myList1.Add("u");
myList1.Add("y");
foreach (string str in listBox1.Items)
{
myList.Add(str);
}
if (myList==myList1)
{
MessageBox.Show("Matched");
}
else { MessageBox.Show("Not matched"); }
解决方案
List
是参考,您正在尝试比较 2 个列表,它们是不同的参考。如果您想查看相同的项目是否处于相同的顺序:
if(myList.SequenceEquals(myList1))
{
....
}
或者,如果它们的顺序不同:
if(myList.All(myList1.Contains))
{
....
}
推荐阅读
- c - C printf 可选小数位
- javascript - 重构 Express 代码并且无法确定变量范围
- python - 不同python版本的子流程执行
- java - 使用 Optional.map() 而不是 Optional.ifPresent() 来执行可能引发异常的代码并返回任何异常作为返回值
- javascript - 有没有办法让一个元素旋转而没有一个变量告诉它已经转动了多远?
- javascript - JavaScript 操作 DOM(onclick 事件)
- powershell - Powershell sshd 命令不同
- python - Flask - 无法覆盖需要不同子域的蓝图的默认子域
- python - 如何摆脱 \r \n 和
字符串中的元素 - php - 假设 $this 来自不兼容的上下文,不应静态调用非静态方法 XXX