Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 문자열에서 활용하는 논리 연산자(&&, ||, !) 완벽 정리

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(!) 연산자를 활용하면 됩니다.