Der Operator der gleichen Zahl (==) im C#: Wann wird sie fehlschlagen und wie man mit
umgeht c#
Das Computersymbol wird verwendet, um die gleiche Natur der beiden Objekte zu vergleichen, was sehr bequem ist. Obwohl operative Symbole in allen Typen üblicherweise verwendet werden, kann es in einigen Fällen nicht verwendet werden.
==
Ein Beispiel ist ein relativ nicht eingeschränkter generischer Typ. Das im Problem bereitgestellte Codefragment kann nicht kompiliert werden, da es versucht, die generischen Parameter der beiden Typen T. zu vergleichen. Wenn es keine Einschränkung auf T gibt, kann dieser Typ ein Werttyp sein. ==
äquivalente Typen keinen vorgegebenen bool Compare<T>(T x, T y) { return x == y; }
-Operator. Sie verwenden die ==
-Methode, um den Wert zu vergleichen. Andererseits haben die und andere Referenztypen einen vorgegebenen
int
Wenn die Einschränkung auf T nicht angegeben ist, kann der Compiler nicht bestimmen, ob er als float
-Operator mit einem vorgegebenen Referenztyp oder der ==
-Methode mit dem Werttyp verwendet wird. Um dieses Problem zu lösen, wird das T in einen Referenztyp eingeschränkt. Equals
string
nun unter der Annahme, dass Sie den Typ als Typparameter verweisen. In diesem Fall vergleichen der -Operator die vordefinierte Referenz und keine schwere Lastversion des Bedieners. Dies liegt daran, dass vordefinierte Referenzen als grundlegender und zuverlässiger angesehen werden. ==
-Schinschnittstelle oder ==
statische Methode verwenden. Diese Methoden bieten eine standardisierte Vergleichsmethode, unabhängig von ihrem Typ. Equals
Das obige ist der detaillierte Inhalt vonWann versagt C#'s == Operator und wie können Sie damit umgehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!