Solaris 动态跟踪指南

字符串比较

D 过载二元关系运算符,并允许使用这些运算符进行字符串比较和整数比较。只要两个操作数均属于 string 类型,或一个操作数属于 string 类型而另一个操作数可以提升为 string 类型,则关系运算符就可以进行字符串比较,如字符串赋值中所述。所有关系运算符均可用于比较字符串:

表 6–1 用于字符串的 D 关系运算符

<

左边的操作数小于右边的操作数 

<=

左边的操作数小于或等于右边的操作数 

>

左边的操作数大于右边的操作数 

>=

左边的操作数大于或等于右边的操作数 

==

左边的操作数等于右边的操作数 

!=

左边的操作数不等于右边的操作数 

与整数一样,每个运算符计算为 int 类型的值,如果条件为 true,则该值等于 1,如果条件为 false,则等于 0。

关系运算符逐字节比较两个输入字符串,这与 C 库例程 strcmp(3C) 类似。每个字节使用 ASCII 字符集中的相应整数值进行比较,如 ascii(5) 中所示,直到读取空字节或达到最大字符串长度为止。以下是一些 D 字符串比较及其结果的示例:

"coffee" < "espresso"

... 返回 1 (true) 

"coffee" == "coffee"

... 返回 1 (true) 

"coffee" >= "mocha"

... 返回 0 (false)