Nullable<T>.Equals 方法

2013/12/13

指示当前 Nullable<T> 对象是否等于指定的对象。

Namespace:  System
程序集:  mscorlib(位于 mscorlib.dll 中)

public override bool Equals(
	Object other
)

参数

other
类型: System.Object
一个对象。

返回值

类型: System.Boolean
如果 other 参数等于当前的 Nullable<T> 对象,则为 true;否则为 false
此表描述如何定义所比较值的相等性:

返回值

说明

true

HasValue 属性为 false,并且 other 参数为 null。即,根据定义,两个 null 值相等。

- 或 -

HasValue 属性为 true,并且 Value 属性返回的值等于 other 参数。

false

当前 Nullable<T> 结构的 HasValue 属性为 true,并且 other 参数为 null

- 或 -

当前 Nullable<T> 结构的 HasValue 属性为 false,并且 other 参数不为 null

- 或 -

当前 Nullable<T> 结构的 HasValue 属性为 true,并且 Value 属性返回的值不等于 other 参数。

如果当前 Nullable<T> 结构的 HasValue 属性为 true,则通过将 other 参数传递给当前 Nullable<T> 结构的基础值的 Equals 方法来确定相等性。

下面的代码示例确定一个对象和一个 Nullable<T> 对象是否等于当前的 Nullable<T> 对象。


// This code example demonstrates the Nullable<T>.Equals 
// methods.

using System;

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      int? nullInt1 = 100;
      int? nullInt2 = 200;
      object myObj;

      // Determine if two nullable of System.Int32 values are equal.
      // The nullable objects have different values.
      outputBlock.Text += "1) nullInt1 and nullInt2 ";
      if (nullInt1.Equals(nullInt2))
         outputBlock.Text += "are";
      else
         outputBlock.Text += "are not";
      outputBlock.Text += " equal." + "\n";

      // Determine if a nullable of System.Int32 and an object 
      // are equal. The object contains the boxed value of the
      // nullable object.

      myObj = (object)nullInt1;
      outputBlock.Text += "2) nullInt1 and myObj ";
      if (nullInt1.Equals(myObj))
         outputBlock.Text += "are";
      else
         outputBlock.Text += "are not";
      outputBlock.Text += " equal." + "\n";
   }
}

/*
This code example produces the following results:

1) nullInt1 and nullInt2 are not equal.
2) nullInt1 and myObj are equal.

*/


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示:
© 2014 Microsoft