C #에서 문자열 비교에 대해 읽으면서 두 문자열을 비교하여 동일한 지 확인하는 많은 방법을 찾았습니다.
나는 ==
C ++에서 오는 데 익숙 했지만 객체를 문자열과 비교하면 ==
기본 값이 참조 값 (또는 이와 비슷한 것)이라는 것을 배웠습니다 .
그런 다음 Equals()
방법에 대해 2 개의 문자열이 있다고 가정합니다.
string s1 = null;
string s2 = "Hello";
만약 내가한다면 s1.Equals(s2);
나는 얻을 널 참조 예외를 첫 번째 문자열이 널 (null)이 원인
하지만 내가하면
string.equals(s1,s2);
false
값 중 하나가이면 단순히 반환 null
하고 두 값이 모두 있으면 두 문자열이 둘 다라는 점에서 동일하므로 null
반환됩니다 .true
null
따라서 항상 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
, 여기서 int
C #을 원시적이며 Int32
대응 FLC 형이다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다