Complex.Equals 메서드

정의

두 복소수가 같은지 여부를 나타내는 값을 반환합니다.Returns a value that indicates whether two complex numbers are equal.

오버로드

Equals(Complex)

현재 인스턴스와 지정된 복소수의 값이 같은지 여부를 나타내는 값을 반환합니다.Returns a value that indicates whether the current instance and a specified complex number have the same value.

Equals(Object)

현재 인스턴스와 지정된 개체의 값이 같은지를 나타내는 값을 반환합니다.Returns a value that indicates whether the current instance and a specified object have the same value.

Equals(Complex)

현재 인스턴스와 지정된 복소수의 값이 같은지 여부를 나타내는 값을 반환합니다.Returns a value that indicates whether the current instance and a specified complex number have the same value.

public:
 virtual bool Equals(System::Numerics::Complex value);
public bool Equals (System.Numerics.Complex value);
override this.Equals : System.Numerics.Complex -> bool
Public Function Equals (value As Complex) As Boolean

매개 변수

value
Complex

비교할 복소수입니다.The complex number to compare.

반환

이 복소수와 true가 동일한 값을 가지면 value이고, 그렇지 않으면 false입니다.true if this complex number and value have the same value; otherwise, false.

구현

설명

Equals(Complex) 메서드는 Complex 구조체에 대 한 IEquatable<T> 구현을 제공 합니다.The Equals(Complex) method provides the IEquatable<T> implementation for the Complex structure. 이 메서드는 매개 변수를 복소수로 변환할 필요가 없기 때문에 Equals(Object) 메서드보다 약간 더 잘 수행 됩니다.It performs slightly better than Equals(Object) method because it does not have to convert its parameter to a complex number.

두 복소수는 해당 실수 부분도 같으면 해당 허수 부분도 동일한 경우 같습니다.Two complex numbers are equal if their real parts are equal and their imaginary parts are equal. Equals(Complex) 메서드는 다음 식과 같습니다.The Equals(Complex) method is equivalent to the following expression:

return this.Real.Equals(value) && this.Imaginary.Equals(value);      
Return Me.Real.Equals(value.Real) AndAlso Me.Imaginary.Equals(value.Imaginary)

호출자 참고

실제 및 허수 구성 요소의 전체 자릿수가 서로 다르기 때문에 두 값이 동일 하지 않은 것으로 간주 될 수 있으므로 Equals(Complex) 방법을 주의 해 서 사용 합니다.Use the Equals(Complex) method with caution, because two values that are apparently equivalent can be considered unequal due to the differing precision of their real and imaginary components. 다음 예제에서는 (3.33333, 0.142857)(10/3, 1/7) 이 같지 않은 것으로 보고 합니다.The following example reports that (3.33333, 0.142857) and (10/3, 1/7) are not equal.

[! code-csharp.Equals # 4] [! code-vb system.string.Equals # 4][!code-csharpSystem.Numerics.Complex.Equals#4] [!code-vbSystem.Numerics.Complex.Equals#4] 하나 방법은 두 값 간의 차이 허용 가능한 여백을 정의 하는 것이 좋습니다 (같은. 값의 실수 및 허수 구성 요소 중 하나의.01%)의 값이 같은지를 비교 하는 대신 합니다.One recommended technique is to define an acceptable margin of difference between the two values (such as .01% of one of the values' real and imaginary components) instead of comparing the values for equality. 두 값 간의 차이의 절대값 보다 작거나 동일한 경우 차이 정밀도에 차이가 있기 때문일 가능성이 않으며, 따라서 값과 같아야 합니다.If the absolute value of the difference between the two values is less than or equal to that margin, the difference is likely to be due to a difference in precision, and, therefore, the values are likely to be equal. 다음 예에서는 같지 않은 것으로 이전 코드 예제에 있는 두 복소수 값을 비교할이 기법을 사용 합니다.The following example uses this technique to compare the two complex values that the previous code example found to be unequal. 같아야 두 복소수를 찾습니다.It finds the two complex numbers to be equal.

[! code-csharp.Equals # 5] [! code-vb system.string.Equals # 5][!code-csharpSystem.Numerics.Complex.Equals#5] [!code-vbSystem.Numerics.Complex.Equals#5]

추가 정보

Equals(Object)

현재 인스턴스와 지정된 개체의 값이 같은지를 나타내는 값을 반환합니다.Returns a value that indicates whether the current instance and a specified object have the same value.

public:
 override bool Equals(System::Object ^ obj);
public override bool Equals (object obj);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean

매개 변수

obj
Object

비교할 개체입니다.The object to compare.

반환

true 매개 변수가 obj 개체이거나 Complex 개체로 암시적 변환이 가능한 형식이고 해당 값이 현재 Complex 개체의 값과 같으면 Complex이고, 그렇지 않으면 false입니다.true if the obj parameter is a Complex object or a type capable of implicit conversion to a Complex object, and its value is equal to the current Complex object; otherwise, false.

설명

두 복소수는 해당 실수 부분도 같으면 해당 허수 부분도 동일한 경우 같습니다.Two complex numbers are equal if their real parts are equal and their imaginary parts are equal. Equals(Object) 메서드는 다음 식과 같습니다.The Equals(Object) method is equivalent to the following expression:

return this.Real.Equals(((Complex) value).Real) && 
       this.Imaginary.Equals(((Complex) value).Imaginary);
Return Me.Real.Equals(CType(value, Complex).Real) AndAlso 
       Me.Imaginary.Equals(CType(value, Complex).Imaginary)

obj 매개 변수가 Complex 개체가 아니지만 암시적 변환이 정의 된 데이터 형식인 경우 Equals(Object) 메서드는 obj를 실제 부분이 Complex 값과 같고 해당 허수 부분이 비교를 수행 하기 전에 0과 같은 obj 개체로 변환 합니다.If the obj parameter is not a Complex object, but it is a data type for which an implicit conversion is defined, the Equals(Object) method converts obj to a Complex object whose real part is equal to the value of obj and whose imaginary part is equal to zero before it performs the comparison. 다음 예제에서는이 복소수와 배정밀도 부동 소수점 값이 같음을 검색 하 여 보여 줍니다.The following example illustrates this by finding that a complex number and a double-precision floating-point value are equal.

double n1 = 16.33;
System.Numerics.Complex c1 = 
       new System.Numerics.Complex(16.33, 0);
Console.WriteLine(c1.Equals(n1));               // Returns true.
Dim n1 As Double = 16.33
Dim c1 As New System.Numerics.Complex(16.33, 0)
Console.WriteLine(c1.Equals(n1))                ' Returns True.

호출자 참고

실제 및 허수 구성 요소의 전체 자릿수가 서로 다르기 때문에 두 값이 동일 하지 않은 것으로 간주 될 수 있으므로 Equals(Complex) 방법을 주의 해 서 사용 합니다.Use the Equals(Complex) method with caution, because two values that are apparently equivalent can be considered unequal due to the differing precision of their real and imaginary components. 비교를 수행 하기 전에 obj Double으로 변환 해야 하는 경우 문제를 accentuated 수 있습니다.The problem can be accentuated if obj must be converted to a Double before performing the comparison. 다음 예제에서는 실제 구성 요소가 해당 Single 값을 사용 하 여 Single 값과 동일한 것으로 보이는 복소수를 비교 합니다.The following example compares a complex number whose real component appears to be equal to a Single value with that Single value. 출력에 표시 된 것 처럼 같음 비교는 False을 반환 합니다.As the output shows, the comparison for equality returns False.

[! code-csharp.Equals # 8] [! code-vb system.string.Equals # 8][!code-csharpSystem.Numerics.Complex.Equals#8] [!code-vbSystem.Numerics.Complex.Equals#8] 하나 방법은 두 값 간의 차이 허용 가능한 여백을 정의 하는 것이 좋습니다 (같은. 값의 실수 및 허수 구성 요소 중 하나의.01%)의 값이 같은지를 비교 하는 대신 합니다.One recommended technique is to define an acceptable margin of difference between the two values (such as .01% of one of the values' real and imaginary components) instead of comparing the values for equality. 두 값 간의 차이의 절대값 보다 작거나 동일한 경우 차이 정밀도에 차이가 있기 때문일 가능성이 않으며, 따라서 값과 같아야 합니다.If the absolute value of the difference between the two values is less than or equal to that margin, the difference is likely to be due to a difference in precision and, therefore, the values are likely to be equal. 다음 예제는 이전 코드 예제에서는 서로 다른 두 값을 비교 하려면이 기술을 사용 합니다.The following example uses this technique to compare the two values that the previous code example found to be unequal. 이제 같아야 하기를 찾습니다.It now finds them to be equal.

[! code-csharp.Equals # 7] [! code-vb system.string.Equals # 7][!code-csharpSystem.Numerics.Complex.Equals#7] [!code-vbSystem.Numerics.Complex.Equals#7]

적용 대상