Tag: 平等

为什么1234 =='1234testing'评估为真?

可能重复: php == vs ===运算符 一个简单的答案,我确定的人。 有人能解释为什么这个expression式评估为真? (1234 == '1234 test')

bashstring相等

在bash ,等号和双等号testing操作符之间有什么区别? [[ "a" = "a" ]] && echo equal || echo not-equal [[ "a" == "a" ]] && echo equal || echo not-equal [[ "a" = "b" ]] && echo equal || echo not-equal [[ "a" == "b" ]] && echo equal || echo not-equal 结果是: equal equal not-equal not-equal

比较两个集合的平等性,而不考虑其中的项目顺序

我想比较两个集合(在C#中),但我不确定实现这个效率的最好方法。 我已经阅读了关于Enumerable.SequenceEqual的另一个线程,但这并不是我正在寻找的。 就我而言,如果两个集合包含相同的项目(不pipe顺序如何),那么两个集合是相等的。 例: collection1 = {1, 2, 3, 4}; collection2 = {2, 4, 1, 3}; collection1 == collection2; // true 我通常做的是循环一个集合中的每个项目,看看它是否存在于其他集合中,然后遍历其他集合中的每个项目,看看它是否存在于第一个集合中。 (我通过比较长度开始)。 if (collection1.Count != collection2.Count) return false; // the collections are not equal foreach (Item item in collection1) { if (!collection2.Contains(item)) return false; // the collections are not equal } foreach (Item item […]

在Objective-C中,Java的“instanceof”关键字是什么?

我想检查一个对象(如someObject )是否可赋值(可转换)为另一种types的variables(例如SpecifiedType )。 在Java中,我可以写: someObject instanceof SpecifiedType 一个相关的问题是查找一个对象的运行时types是否等于另一个types。 在Java中,我可以写: someObject.getClass().equals(SpecifiedType.class) Objective-C如何做到这一点?

IStructuralEquatable和IStructuralComparable能解决什么问题?

我已经注意到这两个接口,以及几个相关的类,已经被添加到.NET 4中。对我来说,这看起来有些多余。 我已经阅读了几篇关于它们的博客,但是我仍然无法弄清楚.NET 4之前他们解决了哪些棘手的问题。 什么用途是结构可以和结构可比较的?

C#.Equals(),.ReferenceEquals()和==运算符

我对这三个人的理解是: .Equals()testing数据是否相等(缺less更好的描述)。 .Equals()可以为同一个对象的不同实例返回True,这是最常用的重写方法。 .ReferenceEquals()testing两个对象是否是同一个实例,不能被覆盖。 ==默认情况下与ReferenceEquals()相同,但是这个可以被覆盖。 但是C#站点状态: 在对象类中, Equals和ReferenceEquals方法在语义上是等价的,只不过ReferenceEquals只对对象实例起作用。 ReferenceEquals方法是静态的。 现在我不明白。 任何人都可以点亮这个?

你如何testing函数和平等closures?

这本书说,“function和封闭是参考types”。 那么,你怎么知道引用是否相等? ==和===不起作用。 func a() { } let å = a let b = å === å // Could not find an overload for === that accepts the supplied arguments 以下是Catterwauls如何处理这个问题: 多种shell和可自动closures testing

为什么我的平等比较使用=(一个等于)正常工作?

我试图检查一个string是否为空,小于或等于9位,或者最多10位。 但是它总是遵循else if (str.length <= 9) 。 if (str = ''){ console.log("The string cannot be blank"); } else if (str.length <= 9) { console.log("The string must be at least 9 characters long"); } else if (str.length <= 10) { console.log("The string is long enough."); } 不pipe我放什么,我总是得到The string must be at least 9 characters long 。 […]

等于?,eql?,===和==有什么区别?

我想了解这四种方法之间的区别。 我知道默认==调用方法equal? 当两个操作数引用完全相同的对象时,它将返回true。 ===默认情况下也调用==哪个调用equal? …好的,所以如果所有这三种方法都不覆盖,那么我猜=== , ==和equal? 做同样的事情? 现在来eql? 。 这是做什么(默认)? 它是否调用操作数的哈希/ ID? 为什么Ruby有这么多的平等标志? 他们是否应该在语义上有所不同?

重写isEqual的最佳实践:和散列

如何正确地重写isEqual:在Objective-C中? “catch”似乎是,如果两个对象相等(由isEqual:方法确定),它们必须具有相同的散列值。 Cocoa Fundamentals Guide的Introspection部分有一个关于如何覆盖isEqual:的例子isEqual:复制如下,名为MyWidget的类: – (BOOL)isEqual:(id)other { if (other == self) return YES; if (!other || ![other isKindOfClass:[self class]]) return NO; return [self isEqualToWidget:other]; } – (BOOL)isEqualToWidget:(MyWidget *)aWidget { if (self == aWidget) return YES; if (![(id)[self name] isEqual:[aWidget name]]) return NO; if (![[self data] isEqualToData:[aWidget data]]) return NO; return YES; } 它检查指针是否相等,然后是类的相等性,最后使用isEqualToWidget:比较对象,它只检查name和data属性。 示例没有显示的是如何重写hash […]