TOC

This article is currently in the process of being translated into Chinese (~91% done).

Operators:

Comparison operators

C#有很多运算符,其中一些是用于对值进行比较的。显然这是编程过程中一项很常见的操作 - 检查两个或多个值之间的相互关系。本章介绍这些运算符如何对值进行比较 - 或许有人已经熟悉部分内容,不过学习以下内容说不定还是会有新的收获。

相等运算符:==

比较两个值显然有很多方法,不过要检查它们是否完全相等,可以使用双等号(==)运算符。如下所示:

int val1 = 42;
int val2 = 42;
if(val1 == val2)
Console.WriteLine(val1 + " is equal to " + val2);

注意此处在两个值之间使用了两个而非一个等号 - 这很重要,如果只用一个等号,实际执行的操作就会是赋值而非比较。

不相等运算符:!=

有时需要检查两个值是否不相等而非相等。C#有个运算符可执行此操作 - 只需把相等操作符中的第一个等号替换为感叹号即可。可把上例稍作修改,使用不相等运算符:

int val1 = 42;
int val2 = 43;
if(val1 != val2)
Console.WriteLine(val1 + " is NOT equal to " + val2);

小于和大于操作符:<和>

这两个运算符特别用于比较数字,编程时常常会需要检查一个值是否大于或是小于另一个。这使用的是大于和小于符号,象这样:

int val1 = 42;
int val2 = 43;
if(val1 > val2)
Console.WriteLine(val1 + " is larger than " + val2);
else
{
if(val1 < val2)
Console.WriteLine(val1 + " is smaller than " + val2);
else
Console.WriteLine(val1 + " is equal to " + val2);
}

大于/小于或等于:<=和>=

前面例子检查了一个值是否大于或是小于另一个,但有时并非只存在小于/大于,还想检查是否小于/大于或者等于这样的条件。此时只需在小于/大于符号后面加一个等号即可,象这样:

int val1 = 42;
if (val1 >= 42)
Console.WriteLine("val1 is larger than or equal to 42");
if (val1 <= 42)
Console.WriteLine("val1 is smaller than or equal to 42");

总结

比较操作是编程的精华,幸好C#有广泛的比较运算符选择,如本章内容所述。不过有时比较两个对象不象比较两个数字那么简单 - 为此,C#允许自定义,定制方法来执行象比较这类操作。这将在运算符重载那一章深入介绍。


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!