C# 문자열에서 사용할 수 있는 논리 연산자
C#에서 문자열 조건을 판별할 때 활용할 수 있는 논리 연산자는 크게 세 가지입니다. 각 연산자의 이름과 동작 방식을 정리하면 다음 표와 같습니다.
| 연산자 | 설명 | 예시 |
|---|---|---|
| && | 논리 AND 연산자. 두 피연산자가 모두 참(0이 아닌 값)일 때만 전체 조건이 참이 됩니다. | (A && B) → false |
| || | 논리 OR 연산자. 두 피연산자 중 하나라도 참이면 전체 조건이 참이 됩니다. | (A || B) → true |
| ! | 논리 NOT 연산자. 피연산자의 논리 상태를 반전시킵니다. 조건이 참이면 거짓으로, 거짓이면 참으로 바꿉니다. | !(A && B) → true |
문자열에 논리 AND 연산자 적용하기
다음 예제는 문자열에 논리 AND(&&) 연산자를 실제로 적용하는 방법을 보여줍니다. 이 코드는 문자열 안의 모든 문자가 고유한지, 즉 중복된 문자가 없는지 검사하는 메서드입니다. 두 문자가 서로 같으면서 위치(index)는 다른 경우를 찾기 위해 (one == two) && (i != j)처럼 두 조건을 AND 연산자로 결합합니다.
예제 코드
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
public class Demo {
public bool CheckUnique(string str) {
string one = "";
string two = "";
for (int i = 0; i < str.Length; i++) {
one = str.Substring(i, 1);
for (int j = 0; j < str.Length; j++) {
two = str.Substring(j, 1);
// 두 문자가 같고, 서로 다른 위치라면 중복
if ((one == two) && (i != j))
return false;
}
}
return true;
}
static void Main(string[] args) {
Demo d = new Demo();
bool b = d.CheckUnique("amit");
Console.WriteLine(b);
Console.ReadKey();
}
}실행 결과
True
"amit"라는 문자열에는 중복된 문자가 없으므로 위 코드는 True를 출력합니다. 이처럼 논리 AND 연산자는 여러 조건을 동시에 만족해야 하는 상황에서 특히 유용합니다. 반대로 조건 중 하나만 충족되어도 되는 경우에는 OR(||) 연산자를, 조건을 뒤집어야 하는 경우에는 NOT(!) 연산자를 활용하면 됩니다.