我有一个名为 Tuple 的简单类。看起来像这样:
class tuple
{
string name;
string code
}
我将其中一些项目插入到组合框中,现在当我想通过代码选择某些项目时,我尝试编写
myComboBox.selectedItem = new tuple("Hello" , "5");
当然,它根本不起作用,所选项目也不会改变。
假设组合框的项目列表包含一个如下所示的项目,他如何比较这些项目?
我继承了iComparable并实现了它,但不幸的是他根本没有使用它..
如何设置所选项目?我应该用循环运行所有项目并自己比较它们吗?
谢谢
最佳答案
您需要重写 Equals
方法,以便提供自定义比较,该比较能够断言两个 tuple
实例是否表示相同的值。
您还应该检查以下 MSDN 条目,了解如何正确重写 Equals
方法:
Implementing the Equals Method
Guidelines for Implementing Equals and the Equality Operator (==)
每当您重写 Equals
时,有关重写 GetHashCode
的 Microsoft 代码分析规则:
关于c# - 为什么在 C# 中,在控件组合框中,我无法更改属性 SelectedItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3681004/