2011-01-19 1 views
15

가능한 중복 :문자열 비교 : 연산자 ==() 대 같음()

: 문자열의 접근 방식은 더 나은 비교 (안전)에 대한
C#: Are string.Equals() and == operator really same?

string s1="Sarfaraz"; 
string s2="Nawaz"; 

bool result1 = (s1==s2) ;//approach 1 
bool result2 = s1.Equals(s2) ;//approach 2 

두 가지 모두 동일합니까?

+1

"dog"와 "Dog"가 같은 단어라고 생각하면 String.Equals (S1, S2, StringComparison.CurrentCultureIgnoreCase)를 사용하여 첫 번째 방법으로 문자열을 조작 할 수 있습니다. –

+0

@Ramhound : 매우 좋은 점! – Nawaz

+0

하나의 경고는 문자열이 null 인 경우 예외가 발생한다는 것입니다. 물론 그들은 당신이 가치를 기대하고 가치를 비교한다면. –

답변

14

옵션이 매우 유용하기 때문에 나는 Equals()을 좋아합니다.

==!= 사업자 에 값을 기반으로, 그래서 그들은 String가 참조 형식 인 경우에도 안전하게 사용할 수 있습니다.

+7

's1'이'null'이라면 결과가 달라질 것입니다. – porges