코딩하는코알라/C#

[C#] 자주 쓰이는 문자열 비교 방법

룰루랄라코알라 2023. 9. 15. 07:51

Contains 를 사용 하여 여러개 비교방법 

여러 문자열 비교에는 자주 쓰는 방법들이 아래도 같다 

 

1. IF 이용
if(i =="R" || i =="A" || i=="W" || i=="P" )
{
MessageBox.Show("True");
}

2. switch 문 이용
switch()
{
case:
case "frmMONITOR065":
constructor = tp.GetConstructors().Where(x => x.GetParameters().Length == 7).First();
frm = constructor.Invoke(new object[] { strPlant, RINF5, strDate.Replace("-", ""), RINF3_CD, GRAVELSIZE, STIFF, SLUMP }) as CoClass.TaskForm;
break;
default:

}

3. Array 형식으로 묶어서 처리 가능 
string PJ_STAT = "W"
if ((new List<string> { "R", "A", "W", "P" }.Contains(PJ_STAT)))
{
MessageBox.show("True");
}

4. Linq 에서 Any 구문 사용

var source = new string[] {"R", "A", "W", "P"};
string str = "plower rules";

if(source.Any(x => str.Contains(x)))
{
MessageBox.Show("True");
}

TIP
자주 사용 하는 Linq 중 Any, All 에 관련 하여 

Any 메서드는 보통 특정 조건을 만족 하는 문자들이 있는지 찾을때 사용

//var source = new string[] {"R", "A", "W", "P"};
string str = "plower rules";

if(str.Any(x =>Char.IsLower(x)))
{
MessageBox.Show("문자열에 소문자가 포함");
}

ALL 매서드는 모든 문자가 해당조건을 포함하는지 여부를 조사
var number = "123456789";

if(number.ALL(x =>Char.IsDigit(x)))
{
MessageBox.Show("문자열이 모두 숫자입니다.");
}
반응형