C#の「is」演算子の使い方をわかりやすく解説
C#の「is」演算子は、オブジェクトの実行時の型が指定された型と互換性があるかどうかを判定するために使用します。型チェックやキャスト前の安全性確認など、さまざまな場面で活用される重要な演算子です。
構文
「is」演算子の基本的な構文は次のとおりです。
expr is type
ここで、expr は判定対象となる式、type は比較対象となる型の名前を表します。式の結果が指定した型と互換性がある場合は true を返し、そうでない場合は false を返します。
使用例
以下は、「is」演算子を使ってオブジェクトの型を判定するサンプルプログラムです。
using System;
class One { }
class Two { }
public class Demo {
public static void Test(object obj) {
One x;
Two y;
if (obj is One) {
Console.WriteLine("Class One");
x = (One)obj;
} else if (obj is Two) {
Console.WriteLine("Class Two");
y = (Two)obj;
} else {
Console.WriteLine("None of the classes!");
}
}
public static void Main() {
One o1 = new One();
Two t1 = new Two();
Test(o1);
Test(t1);
Test("str");
Console.ReadKey();
}
}実行結果
Class One Class Two None of the classes!
この例では、Test メソッドに渡されたオブジェクトが One クラスまたは Two クラスのインスタンスかどうかを「is」演算子で判定しています。どちらにも該当しない場合(この例では文字列 "str")は、else ブロックが実行されます。
補足:パターンマッチングとの組み合わせ
C# 7.0 以降では、「is」演算子とパターンマッチングを組み合わせることで、型チェックとキャストを同時に行うことができます。たとえば if (obj is One o) のように記述すると、判定と同時に変数 o へのキャストも完了するため、明示的なキャストが不要になり、コードがより簡潔で安全になります。
-
iPhoneのジェスチャー操作をマスターしよう!基本から応用まで徹底解説
iPhoneは驚くほど多機能なデバイスです。小さなボディの中に、ウェブ閲覧、ゲーム、ビデオチャットでの家族や友人との交流、本格的な仕事、さらには電話までこなせる力が詰まっています。とはいえ、初めて箱を開けて手にしたときは、何から始めればいいのか戸惑うこともあるでしょう。ご安心ください。この記事では、短期間でiPhoneを使いこなすために必要な基本(そして応用)の操作方法をわかりやすくご紹介します。リラックスできる場所でiPhoneを手に取り、iOSのジェスチャー操作を一緒に学んでいきましょう。今回は、ホームボタンが前面にある従来型のiPhoneを中心に解説します。iPhone XS、XR、11
-
Rubyの三項演算子(?:)の使い方を徹底解説!基本構文から注意点まで
Rubyの三項演算子とは? 三項演算子は「3つの部分」で構成される演算子で、「三項(ternary)」という名前もここから来ています。具体的には、条件式と2つの結果候補から成り立ちます。 つまり、三項演算子を使えば、通常複数行になるif/else文をたった1行のコンパクトなコードにまとめられるのです。 例えば、次のようなコードが… 1 :eat_apple else :buy_apple end このように書けます: 1 ? :eat_apple : :buy_apple これが三項演算子の力です。 では、具体的にどのように動作するのか、正しい構文はどうなっているのかを見ていき