Articles of opérateur

Opérateur conditionnel et délégué de comparaison

Étant donné deux implémentations des méthodes de comparaison: // compares by Key… private static int CompareByKey(KeyValuePair x, KeyValuePair y) { return x.Key.CompareTo(y.Key); } // compares by Value… private static int CompareByValue(KeyValuePair x, KeyValuePair y) { return x.Value.CompareTo(y.Value); } Pourquoi le bloc de code d’opérateur conditionnel suivant ne serait-il pas compilé: Comparison<KeyValuePair> sortMethod; sortMethod = isSortByActualValue […]

Devrais-je surcharger == opérateur?

Comment l’opérateur == fonctionne-t-il vraiment en C #? S’il comparait des objects de classe A , tentera-t-il de faire correspondre toutes les propriétés de A ou recherchera-t-il des pointeurs sur le même emplacement mémoire (ou peut-être autre chose)? Créons un exemple hypothétique. J’écris une application qui utilise l’API Twitter et qui a une classe Tweet […]

Pour «nouveau» ou ne pas «nouveau»

Existe-t-il une règle empirique à suivre pour utiliser le new mot clé et ne pas le faire lors de la déclaration d’objects? List listCustClass = GetList(); OU List listCustClass = new List(); listCustClass = GetList();

l’utilisation de l’opérateur null coalescing sur les types nullables modifie le type implicite

Je m’attendrais à ce que les trois prochaines lignes de code soient les mêmes: public static void TestVarCoalescing(DateTime? nullableDateTime) { var dateTimeNullable1 = nullableDateTime.HasValue ? nullableDateTime : DateTime.Now; var dateTimeNullable2 = nullableDateTime != null ? nullableDateTime : DateTime.Now; var dateTimeWhatType = nullableDateTime ?? DateTime.Now; } Dans tous les cas, nullableDateTime à la nouvelle variable. Je […]

C #: opérateur implicite et méthodes d’extension

J’essaie de créer une classe PredicateBuilder qui englobe un Expression<Func> et fournit quelques méthodes pour créer facilement une expression avec différentes méthodes And et Or . Je pensais que ce serait bien si je pouvais utiliser directement ce PredicateBuilder comme Expression<Func> , et je pensais que cela pourrait être fait en utilisant une méthode de […]

Pourquoi les opérateurs binarys de C # retournent-ils toujours int quel que soit le format de leurs entrées?

Si j’ai deux byte a et b , pourquoi? byte c = a & b; produit une erreur du compilateur lors de la conversion d’octet en entier? Cela se produit même si je mets une dissortingbution explicite devant a et b . De plus, je suis au courant de cette question , mais je ne […]

A quoi sert l’opérateur “??”?

Je me demandais ?? signes en code C# . Pourquoi est-ce? Et comment puis-je l’utiliser? Qu’en est-il de l’ int? ? Est-ce un int nullable? Voir également: ?? Opérateur de coalescence nul -> Que signifie coalescent?