C#の文字列で使える論理演算子(&&・||・!)の基本と実装例
C#の文字列で使える論理演算子とは
C#では、文字列を含むさまざまなデータに対して論理演算子を使用できます。主な論理演算子には「&&(論理AND)」「||(論理OR)」「!(論理NOT)」の3種類があります。
それぞれの演算子の動作を、以下の表にまとめました。
| 演算子 | 説明 | 使用例 |
|---|---|---|
| && | 論理AND演算子。両方のオペランドが真(非ゼロ)である場合に、条件全体がtrueになります。 | (A && B) は false |
| || | 論理OR演算子。2つのオペランドのうち、どちらか一方でも真(非ゼロ)であれば、条件全体がtrueになります。 | (A || B) は true |
| ! | 論理NOT演算子。オペランドの論理状態を反転させます。条件がtrueならfalseへ、falseならtrueへ変換されます。 | !(A && B) は true |
文字列への論理AND演算子の適用例
次のサンプルコードでは、文字列内のすべての文字が一意(重複していない)かどうかを判定するメソッドを実装しています。文字同士の一致判定の結果に対して、論理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」に重複する文字が存在しないため、CheckUniqueメソッドはtrueを返します。二重ループで全文字同士を比較し、「文字が一致している(one == two)」かつ「位置が異なる(i != j)」という2つの条件を論理AND演算子で組み合わせることで、重複文字の有無を効率的に判定しています。もし同じ文字が2回以上出現した場合は、この条件が成立し、即座にfalseが返される仕組みです。
-
Pythonの論理演算子(and・or・not)の使い方を徹底解説
Pythonの論理演算子とは Pythonでは、複数の条件を組み合わせて評価するための論理演算子が用意されています。主な論理演算子は「and」「or」「not」の3種類です。 ここでは、変数 a に 10、変数 b に 20 が代入されている場合を例に、それぞれの演算子の動作を解説します。 1. and(論理積) 両方のオペランドが真(True)である場合にのみ、条件全体が真になります。どちらか一方でも偽(False)であれば、結果は偽となります。 15) # True 2. or(論理和) 2つのオペランドのうち、どちらか一方でもゼロ以外(真)であれば、条件全体が真になります。両方が
-
Pythonの文字列に対する論理演算子(and・or)の挙動と使い方
Pythonでは、論理演算子 and と or を文字列に対しても適用できます。空文字列()はブール値として False と評価されます。まずは、この2つの論理演算子がそれぞれどのような動作をするのかを確認しましょう。 and演算子・or演算子の基本動作 and 演算子は、式の中に偽(falsy)と評価される値があれば最初のその値を返し、すべて真(truthy)であれば最後の値を返します。 一方、or 演算子は、式の中に真(truthy)と評価される値があれば最初のその値を返し、すべて偽(falsy)であれば最後の値を返します。 演算結果 x and yx が偽なら x、そうでなければ