equals相关内容
我试图做一些事情的if语句,这个工作在每个版本的Android(16因为getDrawable或更高版本),除了Android的L(在最新的测试)。在code是如下: 如果(item.getIcon().getConstantState().equals(getResources().getDrawable(R.drawable.add_to_fav_normal).getConstantS
..
我已经得到了我相当困惑的一个问题。我有code以下线在我的Android应用程序: 的System.out.println(CurrentNode.getNodeName()的toString()); 如果(CurrentNode.getNodeName()的toString()==“开始”){ 的System.out.println(“是它!”); } 其他 { 的Syst
..
我有一个重新presents外部物理测量设备类。简化的版本是这样的: 公共类设备{ 公共字符串标记{获得;组; } 公众诠释地址{获得;组; } } 标签是用于识别设备的用户定义的值。 地址是由一个适配器与设备进行通信的价值。如果设备的两个实例具有相同地址,那么同样的外部测量设备将被使用。 我想模仿code这种行为(使用方法,如包含和分明 )通过覆盖等于和实施 IE
..
从MSDN文档,似乎既是GetHash code()和equals()还没有被重写的位图。无论是让他们被重写的图像。因此,这两个类都使用对象的版本它们只是比较引用。我是不是太相信,所以我决定火起来反射检查出来。看来MSDN是在此问题上是正确的。 那么,有没有为什么MS家伙不会实行“比较逻辑”,至少在Bitmap类的任何特别的原因吗?我觉得这是对图像还挺接受的,因为它是一个抽象类,但没有这么多的B
..
VAR一个=新的双[] {1,2,3}; 变种B =新双[] {1,2,3}; 的System.Console.WriteLine(等于(A,B)); //返回false 不过,我正在寻找一种方法来比较数组这将比较refernces的内部值来代替。是否有一个内置的方式做到这一点。NET中? 此外,虽然我理解等于比较基准, GetHash code 对于这两个数组返回的值不同同时,我觉
..
看完这个问题 为sbyte I = 1; INT J = 1; 的Object.Equals(I,J)//假(1) 的Object.Equals(J,I)//假(2) i.Equals(J)//假(3) j.Equals(ⅰ)//真(4) 我==Ĵ//真(5) Ĵ== I //真(6) i.GetHash code()== j.GetHash code()//假(7) (3)和(4)会切断等
..
我需要的东西比 System.Collections.BitArray 类多一点我的应用程序。具体而言,我需要的比特阵列: 要成为不可改变 要使用值语义实现平等 我创造了我自己的结构,主要是复制 BitArray 实施内部。 (感谢 .net反射!) 我不每天都与位运算处理,所以不具有最高程度的信任我平等的实现。 (它是通过单元测试,我扔去,但我可能会丢失边缘的情况。)我有我提出的解决方案如
..
我读 EqualityComparer&LT的来源$ C $ C; T> .DEFAULT ,发现它不是那么聪明。下面是一个例子: 枚举MyEnum:INT {A,B} EqualityComparer< MyEnum> .Default.Equals(MyEnum.A,MyEnum.B) //一样快 EqualityComparer&其中; INT> .Defaul
..
我想从社会上听到我应该如何去实现GetHash code(或覆盖它)我的对象。我明白我必须这样做,如果我重写equals方法。我已经实现了它的次数相当多,有时只是调用基方法。据我所知,我的对象应等于该对象的另一个实例是否包含相同的细节(成员)。什么是从类的成员获得哈希code的最佳方法是什么? 解决方案 比方说,您的类看起来是这样的: 类FROB { 公共字符串富{获得;组; }
..
每次我写了一些数据类,我通常会花那么多时间写IEquatable实施。 我写的最后一堂课是这样的: 公共类多边形 { 公共点[]顶点{获得;组; } } 实施IEquatable是exaustive。当然,C#3.0 / LINQ有很大帮助,但是顶点可以转移和/或以相反的顺序,并增添了许多复杂的equals方法。经过多次的单元测试,以及相应的实施,我放弃了,并改变了我的应用程序
..
我要创建一个派生自列表类... 公共类MYLIST:列表< MyListItem> {} 我已经MyListItem ... 的重写的Equals 公众覆盖布尔等于(obj对象) { MyListItem李= OBJ为MyListItem; 返回(ID == li.ID); // ID是MyListItem的一个属性 } 我想有一个等于在MYLIST对
..
如果我们实现一个自定义的类实例的比较时,同时覆盖等于和 GetHash code 属性? 在以下code我有一个类的集合。类 A 由比较 ID ,类乙 - 由 code 使用系统; 使用System.Collections.Generic; 使用System.Diagnostics程序; 使用System.Linq的; 命名空间ConsoleApplication2 { 类节目
..
我正与一个域模型,并思考我们要实现在.NET这两种方法的不同方式。什么是您的preferred策略? 这是我目前的执行情况: 公众覆盖布尔等于(obj对象) { VAR newObj = OBJ为MyClass的; 如果(NULL!= newObj) { 返回this.GetHash code()== newOb
..
的HashSet< T>。新增首 GetHash code 的结果进行比较。如果这些都是平等的,它会调用等于。 现在,我的理解是为了贯彻 GetHash code ,的东西的必须用对象的字段进行。一个简单的例子可以实现在在我的测试比较两个上1.000.000对填充有随机数据对象,性能或多或少等于在两者之间。 GetHash code 被实现为在链接例如,等于只需调用等于上的所有字段。
..
我的很多问题在这里对SO关注IEquatable实施。我发现它是非常困难的正确实施,因为有很多隐藏的错误在幼稚的,我发现关于它的文章是相当不完整的。我想找到或编写一个明确的参考,其中必须包括: 如何正确实施IEquatable 如何重写正确等于 如何覆盖GetHash code正确 如何正确实现ToString方法 如何正确地执行操作== 如何!=正确执行操作 这样一个完整的参考已经存在?
..
背景 我使用的基于接口的编程在当前项目,并已重载运营商(特别是等式和不等式运算符)时遇到了问题。 假设 在我使用C#3.0,.NET 3.5和Visual Studio 2008 更新 - !下面的假设是错误的。 要求所有的比较来使用等号,而不是运营商==是不是一个可行的解决方案,通过你的类型库(如集合)时尤其如此。 使用的原因,我很担心,要求等于,而不是运营商==是,我无法找到它
..
在使用反射拆卸净源$ C $ C,我来到了对象类的Equals实现,它指的是 布尔InternalEquals(对象objA,对象objB); 这又是指 内部静态外部布尔InternalEquals(对象objA,对象objB); 我现在的困惑就在哪里可以找到这种 InternalEquals(对象objA,反对objB)功能以及如何使用此功能,并在.NET程序集执行它在该
..
我读过有关10何时和如何重写 GetHash code 不同的问题,但还是有一些我不完全得到。 GetHash code 的大多数实现都是基于对象的字段的哈希值codeS,但它一直引以为值 GetHash code 不应该在对象的生命周期变化。这是如何工作的,如果它是基于字段是可变的?另外,如果我想字典查找等是基于引用相等不是我重写等于? 我主要覆盖等于为了便于单元测试我的序列化code,我承担
..
我希望我的食品类能够测试时,它等于另一个类。稍后我会用它对付一个列表,我想使用它的List.Contains()方法。我应该实现IEquatable或者只是覆盖的Object.Equals()?从MSDN: 该方法被确定平等 使用默认的相等比较, 由对象的定义 实施 IEquatable.Equals方法对于T (值的列表中的类型)。 因此,我的下一个问题是:在.NET框架的哪些功能/
..
我有一个Silverlight应用程序,用于比较两个字符串,因为某些原因,当我使用条件 == 返回假,而 .Equals()返回真正。这里是code: 如果(((ListBoxItem的)lstBaseMenu.SelectedItem).Content.Equals(“能源攻击”)) { //执行code } 如果(((ListBoxItem的)lstBaseMenu.Selected
..