Operator == (odwołanie w C#)
Aby wstępnie zdefiniowane typy wartości, operator równości (==) zwraca wartość true, jeśli wartości argumentów są równe, false inaczej.Dla odwołania do innych niż typy string, == zwraca true , jeśli jej dwa operandy odnoszą się do tego samego obiektu.Dla string typu, == porównuje wartości ciągów.
Uwagi
Typy zdefiniowane przez użytkownika wartości mogą przeciążać == operatora (zobacz operator).Tak może typy zdefiniowane przez użytkownika odniesienia, chociaż domyślnie == zachowuje się jak opisano powyżej dla obu typów odniesienia wstępnie zdefiniowane i zdefiniowane przez użytkownika.Jeśli == jest przeciążony, ! = również mogą być przeciążone.Operacje na typy zintegrowane ogólnie są dozwolone na wyliczenie.
Przykład
class Equality
{
static void Main()
{
// Numeric equality: True
Console.WriteLine((2 + 2) == 4);
// Reference equality: different objects,
// same boxed value: False.
object s = 1;
object t = 1;
Console.WriteLine(s == t);
// Define some strings:
string a = "hello";
string b = String.Copy(a);
string c = "hello";
// Compare string values of a constant and an instance: True
Console.WriteLine(a == b);
// Compare string references;
// a is a constant but b is an instance: False.
Console.WriteLine((object)a == (object)b);
// Compare string references, both constants
// have the same value, so string interning
// points to same reference: True.
Console.WriteLine((object)a == (object)c);
}
}
/*
Output:
True
False
True
False
True
*/
Zobacz też
Informacje
Koncepcje
Przewodnik programowania w języku C#