희망에 부푼 이 뛰는 가슴으로 못할 것 없다. 세상을 밝게 사람들에게 행복을!!
대소문자 무시하고 문자열 비교하는 소스. 효율적임
if (String.Compare(s1,s2, CompareOptions.IgnoreCase) == 0) { // 동일한 문자열}else { // 동일하지 않은 문자열}
기존 ToUpper(), ToLower()를 사용하였으나 또하나의 객체가 생성되기 때문에 GC의 대상이 된다.
Compare()의 경우 대소문자를 무시하는 옵션(IgnoreCase)을 인자로 사용할 수 있어 불필요한 객체생성을 하지 않는다.이 내용을 어디서 보고 이 글귀만 저장해 놓았었는데.. 어딘지는 나중에..암튼.. 문자열들을 비교하고 연산할때 마다 객체를 생성하게 되면 너무나 비효율적이된다.아무리 GC(가비지 컬렉션)가 알아서 처리를 해준다지만,, 이것만 믿다가는 믿는 도끼에 발등찍힐 일 있을터이니, 알아서들 조심조심, 낭비하지말고.. 프로그램은.. SimplicityClarityGenerality뭐.. 이렇단다.암튼.. 문자열 비교 하나에도 생각 잘해서 프로그램하시길.. (나부터 잘해야.. ㅠㅠ)
문자열 비교
대소문자 무시하고 문자열 비교하는 소스. 효율적임
if (String.Compare(s1,s2, CompareOptions.IgnoreCase) == 0) {
// 동일한 문자열
}
else {
// 동일하지 않은 문자열
}
기존 ToUpper(), ToLower()를 사용하였으나 또하나의 객체가 생성되기 때문에 GC의 대상이 된다.
Compare()의 경우 대소문자를 무시하는 옵션(IgnoreCase)을 인자로 사용할 수 있어 불필요한 객체생성을 하지 않는다.
이 내용을 어디서 보고 이 글귀만 저장해 놓았었는데.. 어딘지는 나중에..
암튼.. 문자열들을 비교하고 연산할때 마다 객체를 생성하게 되면 너무나 비효율적이된다.
아무리 GC(가비지 컬렉션)가 알아서 처리를 해준다지만,, 이것만 믿다가는 믿는 도끼에 발등찍힐 일 있을터이니, 알아서들 조심조심, 낭비하지말고..
프로그램은..
Simplicity
Clarity
Generality
뭐.. 이렇단다.
암튼.. 문자열 비교 하나에도 생각 잘해서 프로그램하시길.. (나부터 잘해야.. ㅠㅠ)
'개발이야기' 카테고리의 다른 글