Equals () 대 정적 문자열 .Equals ()

존슨

C #에서 문자열 비교에 대해 읽으면서 두 문자열을 비교하여 동일한 지 확인하는 많은 방법을 찾았습니다.

나는 ==C ++에서 오는 데 익숙 했지만 객체를 문자열과 비교하면 ==기본 값이 참조 값 (또는 이와 비슷한 것)이라는 것을 배웠습니다 .

그런 다음 Equals()방법에 대해 2 개의 문자열이 있다고 가정합니다.

string s1 = null;
string s2 = "Hello";

만약 내가한다면 s1.Equals(s2);

나는 얻을 널 참조 예외를 첫 번째 문자열이 널 (null)이 원인

하지만 내가하면

string.equals(s1,s2);

false값 중 하나가이면 단순히 반환 null하고 두 값이 모두 있으면 두 문자열이 둘 다라는 점에서 동일하므로 null반환됩니다 .truenull

따라서 항상 string.equals()방법을 사용하지 않는 이유가 있습니다 . 또한 또 다른 것은 string.equals()S 와 같은 문자열에 대문자 S를 입력하면 tring.equals()소문자가있는 것처럼 여전히 실행되지만 IDE (Visual Studio 2015)는 단순화 할 수 있다고 알려줍니다. 내가 그것을 단순화하면 소문자로 바꿉니다. 왜 그런 겁니까?

크리스토스

따르면 MSDN 상기 string.Equals방법

두 String 개체의 값이 같은지 여부를 확인합니다.

이유는 string.equals(s1,s2);항상 귀하의 경우 거짓을 반환하고, 두 경우 s1와는 s2널 (null) 또는이 같은 값은 true 반환합니다.

또한 또 다른 것은이 String.equals ()와 같은 문자열에 대문자 S로 string.equals ()를 입력하면 소문자가 있지만 IDE (Visual Studio 2015)처럼 여전히 동일하게 실행된다는 것입니다. 단순화 할 수 있다고 말하고 단순화하면 소문자로 바뀝니다. 왜 그런 겁니까?

string동안, C 번호 원시적 System.String또는 단순 String하다 대응 FCL (Framework 클래스 라이브러리) 형. 이 같은 동일 int하고 Int32, 여기서 intC #을 원시적이며 Int32대응 FLC 형이다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바 : toString (). equals () 대 equals () 사용

분류에서Dev

c # 열거 형 equals () 대 ==

분류에서Dev

equals () 재정의

분류에서Dev

자바, JTextField .equals

분류에서Dev

.isEqualTo 대 Java의 .equals

분류에서Dev

.equals () 메서드 재정의 문제

분류에서Dev

특수 문자가있는 문자열에 대해 C # String Equals 비교 메서드가 실패합니다.

분류에서Dev

Object.equals 논리 연산자 대 (부울, 부울) (자바)

분류에서Dev

Issue with .equals()

분류에서Dev

사용자 정의 equals () 메소드가 제대로 작동하지 않습니다.

분류에서Dev

EqualityComparerer <T> .Default.Equals () 대 object.Equals () 및 다형성

분류에서Dev

EF Core 3.0 번역 문자열. Equals ordinalIgnoreCase 올바르게

분류에서Dev

지원되지 않는 문자열 일치 유형 : EACH_EQUALS

분류에서Dev

equals ()와 문자열 비교가 작동하지 않습니다.

분류에서Dev

특정 조건에 대한 hashCode 계약 유지, 두 정수에 따라 equals ()

분류에서Dev

멤버 'object.equals (object ?, object?'는 인스턴스 참조로 액세스 할 수 없습니다. 목록 제거의 문자열 대신 이름으로 품질을 지정합니다. c #?

분류에서Dev

C #에서 속성이 많은 클래스에 대해 Equals 재정의

분류에서Dev

string.equals를 사용하여 Java에서 두 문자열 배열 비교

분류에서Dev

적절한 Java equals 메소드 재정의

분류에서Dev

비교 객체의 인스턴스 또는 객체의 상태 - 자바에서 .equals에 대한 가정 () 메소드

분류에서Dev

Junit of equals 방법

분류에서Dev

C # this.Equals (typeof (...));

분류에서Dev

Hashcode & equals implementation

분류에서Dev

== 및 .equals () in Java

분류에서Dev

Primitive double equals to NaN

분류에서Dev

Sonar 문제 : 정확성-다른 유형을 비교하는 equals () 호출

분류에서Dev

.equals () 메서드에서 Java 문자열 비교가 작동하지 않음

분류에서Dev

hash_equals는`sha512`로 해시 된 문자열을 비교합니까?

분류에서Dev

문자열 버퍼에서 equals () 메소드가 어떻게 작동합니까?

Related 관련 기사

  1. 1

    자바 : toString (). equals () 대 equals () 사용

  2. 2

    c # 열거 형 equals () 대 ==

  3. 3

    equals () 재정의

  4. 4

    자바, JTextField .equals

  5. 5

    .isEqualTo 대 Java의 .equals

  6. 6

    .equals () 메서드 재정의 문제

  7. 7

    특수 문자가있는 문자열에 대해 C # String Equals 비교 메서드가 실패합니다.

  8. 8

    Object.equals 논리 연산자 대 (부울, 부울) (자바)

  9. 9

    Issue with .equals()

  10. 10

    사용자 정의 equals () 메소드가 제대로 작동하지 않습니다.

  11. 11

    EqualityComparerer <T> .Default.Equals () 대 object.Equals () 및 다형성

  12. 12

    EF Core 3.0 번역 문자열. Equals ordinalIgnoreCase 올바르게

  13. 13

    지원되지 않는 문자열 일치 유형 : EACH_EQUALS

  14. 14

    equals ()와 문자열 비교가 작동하지 않습니다.

  15. 15

    특정 조건에 대한 hashCode 계약 유지, 두 정수에 따라 equals ()

  16. 16

    멤버 'object.equals (object ?, object?'는 인스턴스 참조로 액세스 할 수 없습니다. 목록 제거의 문자열 대신 이름으로 품질을 지정합니다. c #?

  17. 17

    C #에서 속성이 많은 클래스에 대해 Equals 재정의

  18. 18

    string.equals를 사용하여 Java에서 두 문자열 배열 비교

  19. 19

    적절한 Java equals 메소드 재정의

  20. 20

    비교 객체의 인스턴스 또는 객체의 상태 - 자바에서 .equals에 대한 가정 () 메소드

  21. 21

    Junit of equals 방법

  22. 22

    C # this.Equals (typeof (...));

  23. 23

    Hashcode & equals implementation

  24. 24

    == 및 .equals () in Java

  25. 25

    Primitive double equals to NaN

  26. 26

    Sonar 문제 : 정확성-다른 유형을 비교하는 equals () 호출

  27. 27

    .equals () 메서드에서 Java 문자열 비교가 작동하지 않음

  28. 28

    hash_equals는`sha512`로 해시 된 문자열을 비교합니까?

  29. 29

    문자열 버퍼에서 equals () 메소드가 어떻게 작동합니까?

뜨겁다태그

보관