如何检查一个项目是否已在列表框中共享假设我有一个像这样定义的视图模型publicclassDataVM{publicintnumber{get;放;}公共字符串名称{得到;放;然后在我的代码中的某个地方,我想像这样填充DataListbox:Listdata=newList();for(inti=0;iitem.Value==data[i].name);或者使用“旧”编码风格:for(inti=0;iContains方法使用被检查类的Equals方法。在这种情况下,DataVM类需要覆盖Equals方法publicclassDataVM{publicintnumber{get;放;}publicstringname{得到;放;}publicoverrideboolEquals(objectobj){boolareEqual;相等=假;if((obj!=null)&&(objinstanceOfDataVM)){//比较字段以确定它们是否相等areEqual=(DataVM(obj)).number==this.number;}返回相等;}publicoverrideintGetHashCode(){//根据所需的属性计算哈希码returnnumber;}}重写Equals方法的时候,还需要重写GetHashCode方法,不能匹配自己的类。即使属性相同,它也不是同一个对象(在您的情况下,它不是同一个DataVM)。这就像试图将您的蓝色汽车与其他汽车相匹配,基本上是一样的,但支票的位置不同。尝试匹配对象的属性或编写自己的函数。(我做了一个函数)Listdata=newList();for(inti=0;iDataVMList,DataVMmyDataVM){foreach(vardataVminDataVMList){if(dataVm.number==myDataVM.number&&dataVm.stringname==DataVM.stringname){返回真;}}返回假;我无法回复之前的答案,但这是我应该相信的版本boollistContainsItem=DataListbox.Items.Cast().Any(item=>item.Value==data[i].name);漏投了。。。以上就是C#学习教程的全部内容:如何在ListBox中查看一个item是否被分享,如果对大家有用,还需要进一步了解C#学习教程,希望大家付费更多关注---本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: