Articles of igualdade

Qual é a diferença entre IEquatable e apenas sobrescrevendo Object.Equals ()?

Eu quero que minha class Food seja capaz de testar sempre que for igual a outra instância de Food . Mais tarde eu vou usá-lo contra uma lista, e eu quero usar o seu método List.Contains() . Devo implementar IEquatable ou apenas replace Object.Equals() ? Do MSDN: Esse método determina a igualdade usando o comparador […]

C # .Equals (), .ReferenceEquals () e == operador

Meu entendimento desses três foi: .Equals() testa a igualdade de dados (pela falta de uma melhor descrição). .Equals() pode retornar True para instâncias diferentes do mesmo object, e esse é o método mais comumente substituído. .ReferenceEquals() testa se dois objects são ou não a mesma instância e não podem ser substituídos. == é o mesmo […]

LINQ Select distinto com tipos anônimos

Então eu tenho uma coleção de objects. O tipo exato não é importante. Dele eu quero extrair todos os pares únicos de um par de propriedades particulares, assim: myObjectCollection.Select(item=>new { Alpha = item.propOne, Bravo = item.propTwo } ).Distinct(); Então, minha pergunta é: O Distinct neste caso usa o object padrão igual (o que será inútil […]

Maneira correta de replace Equals () e GetHashCode ()

Eu nunca fiz isso antes, então eu estava esperando que alguém pudesse me mostrar o correto de implementar uma substituição de Except () e GetHashCode () para minha class. Eu estou tentando modificar a class para que eu possa usar o método LINQ Except (). public class RecommendationDTO{public Guid RecommendationId { get; set; } public […]

Como você testa funções e fechamentos para igualdade?

O livro diz que “funções e fechamentos são tipos de referência”. Então, como você descobre se as referências são iguais? == e === não funcionam. func a() { } let å = a let b = å === å // Could not find an overload for === that accepts the supplied arguments Aqui está como […]

Como você compara estruturas para igualdade em C?

Como você compara duas instâncias de estruturas para igualdade no padrão C?

Por que minha comparação de igualdade usando = (um único igual) funciona corretamente?

Estou tentando verificar se uma string está em branco, menor ou igual a 9 dígitos ou até 10 dígitos. Mas sempre segue o 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"); } […]

Usando o operador de igualdade == para comparar duas seqüências de caracteres para igualdade em C

int main (int argc, **argv) { if (argv[1] == “-hello”) printf(“True\n”); else printf(“False\n”); } # ./myProg -hello Falso Por quê? Eu percebo que strcmp(argv[1], “-hello”) == 0 retorna true … mas por que não posso usar o operador de igualdade para comparar duas strings C?

Práticas recomendadas para replace o isEqual: e o hash

Como você apropriadamente sobrescreve isEqual: em Objective-C? O “catch” parece ser que, se dois objects são iguais (conforme determinado pelo método isEqual: , eles devem ter o mesmo valor de hash. A seção Introspection do Cocoa Fundamentals Guide tem um exemplo sobre como replace isEqual: copiado da seguinte maneira, para uma class chamada MyWidget : […]

Como os operadores de comparação de igualdade (== duplo é igual) e identidade (=== triplo é igual) PHP diferem?

Qual é a diferença entre == e === ? Como exatamente a comparação frouxa funciona? Como exatamente funciona a comparação estrita === ? Quais seriam alguns exemplos úteis?