-
C#でジャグ配列(配列の配列)を初期化する方法を解説
ジャグ配列とはジャグ配列(Jagged Array)とは、「配列の配列」のことです。通常の多次元配列と異なり、各要素となる配列の長さを個別に設定できるのが特徴です。int型のジャグ配列「marks」を宣言するには、次のように記述します。int[][] marks;宣言したジャグ配列は、以下のように初期化できます。int[][] marks = new int[2][]{new int[]{92,93,94},new int[]{85,66,87,88}};この例では、marks は「整数型の配列を2つ持つ配列」となります。各内部配列の構成は次のとおりです。marks[0] … 3つの整数を持つ
-
C#で配列を初期化する方法を解説!宣言から要素の代入まで
配列とは すべての配列は、連続したメモリ領域で構成されています。最も小さいアドレスが最初の要素に対応し、最も大きいアドレスが最後の要素に対応します。 C#で配列を初期化するには、まず配列を宣言する必要があります。以下、順を追って見ていきましょう。 配列の宣言 まずは配列を宣言します。 int[] marks; このコードの構成要素は次のとおりです。 int … データ型(整数型) [] … 配列であることを示す記号 marks … 配列の名前 newキーワードによる初期化 続いて、newキーワードを使って配列を初期化します。 int[] marks = new int[10];
-
C#で変数を初期化する方法をわかりやすく解説
変数とは、プログラムが操作できる記憶領域(メモリ)に付けられた名前のことです。C#における各変数には必ず特定の「型」が割り当てられます。この型によって、変数が使用するメモリのサイズやレイアウト、そのメモリに格納できる値の範囲、そして変数に対して実行できる操作の種類が決まります。変数の宣言と初期化の基本変数を初期化するには、まず変数を宣言(定義)する必要があります。宣言は次のように行います。int a;宣言した変数を初期化するには、等号(=)の後に定数式を続けて記述します。int a = 10;上記のコードでは、次の構文を使用しています。variable_name = value;C#での変数操
-
C#の代入演算子とは?種類と使い方をサンプルコード付きで解説
演算子(Operator)とは、コンパイラに対して特定の数学的処理や論理的な操作を実行するよう指示するための記号のことです。C#には多くの演算子が用意されていますが、本記事ではその中でも基本となる「代入演算子」に焦点を当て、それぞれの役割と具体的な使い方をサンプルコードとともにわかりやすく解説します。代入演算子を正しく理解すると、コードをより簡潔かつ読みやすく書けるようになります。C#の主な代入演算子一覧以下の表は、C#で使用できる代入演算子の一覧です。「=」のような単純な代入だけでなく、計算と代入を同時に行う「複合代入演算子」も多数あります。演算子説明使用例=単純代入演算子。右側のオペランド
-
C#の抽象クラスとは?基本ルールと実装例をわかりやすく解説
抽象クラスとは抽象クラス(abstract class)とは、「抽象メソッド」を含むことができる特別なクラスです。抽象メソッドは宣言だけが行われ、実際の処理内容(実装)は派生クラス側で記述します。この仕組みにより、派生クラスはそれぞれの目的に応じた、より専門的で具体的な機能を実装できるようになります。以下に、C#で抽象クラスを使用する具体例を示します。サンプルコードここでは、基底クラス Shape に抽象メソッド area() を定義し、派生クラス Rectangle でそれをオーバーライドして長方形の面積を計算しています。using System; namespace Demo {
-
C#のアクセス修飾子とは?5種類のアクセス指定子の違いをわかりやすく解説
クラスのメンバー(変数やメソッド)へのアクセス範囲と可視性を定義するために使われるのが「アクセス修飾子(アクセス指定子)」です。適切なアクセス修飾子を選ぶことで、カプセル化を実現し、安全で保守性の高いコードを書くことができます。C#では、以下の5種類のアクセス修飾子がサポートされています。public(パブリック)private(プライベート)protected(プロテクト)internal(インターナル)protected internal(プロテクト・インターナル)それぞれの特徴を順番に見ていきましょう。public:どこからでもアクセス可能public を付けたメンバーは、同じクラス内は
-
C#の抽象プロパティとは?仕組みと実装例をわかりやすく解説
抽象プロパティの基本C#において、抽象プロパティ(abstract property)として宣言されたプロパティには、アクセサー(get や set)の具体的な実装は含まれません。プロパティの存在だけを宣言し、実際の処理内容は派生クラス側で override キーワードを使って実装する仕組みです。抽象クラスで共通の「契約」を定義しながら、各派生クラスに固有の計算やロジックを持たせたい場合に、抽象プロパティは非常に有効です。サンプルコードの概要ここでは、抽象クラス Shape を基盤とし、そこから派生する2つのクラス Square(正方形)と Circle(円)を作成します。それぞれのクラスで、
-
C#のpublic・protected・privateアクセス修飾子の違いを徹底解説
はじめにC#には、クラスのメンバー(フィールドやメソッド)へのアクセス範囲を制御するための「アクセス修飾子」が用意されています。中でもよく使われるのが public、protected、private の3つです。それぞれ外部からのアクセス可否や継承関係での扱いが異なるため、適切に使い分けることが重要です。本記事では、各アクセス修飾子の特徴を、実際のコード例と実行結果とともにわかりやすく解説します。public アクセス修飾子とはpublic を付けたメンバーは、クラスの内外を問わず、どこからでもアクセスできます。他のクラスやオブジェクトに対してメンバー変数やメソッドを公開したい場合に使用しま
-
C#のプロパティアクセサーとは?get・setの基本をわかりやすく解説
プロパティとはC#におけるプロパティは、フィールドを拡張した機能であり、フィールドと同じ構文でアクセスできるのが特徴です。プロパティは「アクセサー」と呼ばれる仕組みを通じて、private(プライベート)なフィールドの値を読み取ったり、書き込んだり、必要に応じて加工したりすることを可能にします。プロパティのアクセサーには実行ステートメントが含まれており、これによって値の取得(get:読み取りや計算)や設定(set:書き込み)を行います。それでは、C#のプロパティの具体的な使い方を見ていきましょう。例1:string型のCodeプロパティまずは、string型の「Code」プロパティを宣言するコ
-
C#のList<T>クラスにおけるAddメソッドとRemoveメソッドの使い方
C#における List<T> は、ジェネリックコレクションとして提供されるリスト構造です。可変長の配列のように扱え、要素の追加や削除を柔軟に行えるため、実務でも非常に頻繁に利用されます。 本記事では、List<T> の基本操作である Add() メソッド(要素の追加)と Remove() メソッド(要素の削除)の使い方を、サンプルコード付きで解説します。 Add() メソッドで要素を追加する Add() メソッドは、リストの末尾に新しい要素を追加するために使用します。以下の例では、文字列型のリストにスポーツの名前を3つ追加しています。 サンプルコード using S
-
C#で配列を初期化する3つの構文パターンまとめ
C#では、配列を初期化する方法が複数用意されています。ここでは、代表的な3つの記述方法を具体例とともに解説します。方法1:配列のサイズを明示的に指定するnew演算子を使い、要素数を指定してから初期化子リストを渡す方法です。指定したサイズと要素数が一致している必要があります。int[] marks = new int[5] { 99, 98, 92, 97, 95 };方法2:サイズ指定を省略する初期化子リストから要素数が自動的に推論されるため、サイズの記述を省略できます。コードがすっきりし、後から要素を追加しても修正不要になるのがメリットです。int[] marks = new int[] {
-
C#でArrayListを並べ替える(ソートする)方法
C#でArrayListの要素を並べ替えるには、Sort()メソッドを使用します。Sort()メソッドを呼び出すだけで、リスト内の要素が昇順に自動的にソートされます。ArrayListの作成まず、並べ替え対象となるArrayListを作成し、いくつかの数値を追加します。ArrayList arr = new ArrayList(); arr.Add(32); arr.Add(12); arr.Add(55); arr.Add(8); arr.Add(13);Sort()メソッドによる並べ替え次に、Sort()メソッドを呼び出してArrayListを並べ替えます。引数は不要で、この一行だけで昇順
-
C#の正規表現におけるアンカーとは?種類と使い方をわかりやすく解説
アンカー(Anchor)とは、C#の正規表現において使用される特殊な構成要素の一つです。アンカー自体は任意の文字にマッチするのではなく、文字列内の現在位置に基づいて、その位置でマッチが成立するかどうかを判定します。これにより、「行頭にある場合のみ」「単語の境界でのみ」といった、位置に依存した柔軟なパターンマッチングが可能になります。正規表現のアンカー一覧以下の表に、C#で利用できる主なアンカー(アサーション)とその動作、パターン例、マッチ結果をまとめました。アサーション説明パターンマッチ例^マッチは文字列または行の先頭で開始する必要があります。^\d{3}567-777- 内の 567$マッチ
-
C#の匿名メソッドとは?基本の仕組みと使い方を実例付きで解説
匿名メソッド(Anonymous Method)とは、その名の通り「名前を持たないメソッド」のことです。C#では、コードブロックをデリゲートのパラメータとして直接渡すための手法として利用されます。通常のメソッドのように事前に宣言して名前を付ける必要がなく、デリゲートインスタンスを作成するタイミングで、delegateキーワードを使ってその場で定義できるのが大きな特徴です。処理が短く、他の場所から再利用する必要がない場合に特に便利です。匿名メソッドの基本的な書き方匿名メソッドは、デリゲート型の変数にdelegateキーワードを用いて代入することで宣言します。以下のような形式になります。deleg
-
C#の算術演算子とは?7つの演算子の使い方をサンプルコードで解説
演算子(オペレーター)とは、コンパイラに対して特定の数学的な処理や論理的な操作を実行するよう指示するための記号です。C#にはさまざまな種類の演算子がありますが、その中でも基本となるのが「算術演算子」です。算術演算子は、数値の加算・減算・乗算・除算など、日常的な計算処理を行うために使用されます。以下の表に、C#で使用できる主な算術演算子とその説明、使用例をまとめました。演算子説明使用例+2つのオペランド(被演算子)を加算しますA + B = 30-最初のオペランドから2番目のオペランドを減算しますA - B = -10*2つのオペランドを乗算しますA * B = 200/分子を分母で除算しますB
-
C#の属性(Attribute)とは?基本構文と主な定義済み属性をわかりやすく解説
C#における属性(Attribute)とは、クラス、メソッド、構造体、列挙型、アセンブリなど、プログラムを構成するさまざまな要素の動作に関する情報を、実行時(ランタイム)に伝えるための宣言型のタグです。 属性を使うことで、コード自体には手を加えずに、追加のメタデータを要素へ付与することができます。 属性の基本構文 属性は以下のような形式で記述します。 [attribute(positional_parameters, name_parameter = value, ...)] Element この構文のポイントは次のとおりです。 属性名とその値は角括弧 [ ] の中に記述します。 属性は、適
-
C#の基底クラスと派生クラスとは?継承の基本をわかりやすく解説
C#における基底クラスと派生クラスの基本C#では、1つのクラスは複数のクラスやインターフェースから派生させることができます。つまり、複数の基底クラスやインターフェースからデータや関数(メソッド)を受け継ぐことが可能です。この仕組みを「継承」と呼びます。例えば、「Vehicle(乗り物)」という基底クラスを想定すると、そこから次のような派生クラスを作成できます。Truck(トラック)Bus(バス)Motorbike(バイク)派生クラスは、基底クラスが持つメンバー変数やメンバーメソッドを自動的に受け継ぎます。これにより、共通する機能を基底クラス側にまとめて記述でき、コードの重複を避けて保守性を高め
-
C#のビット演算子とは?種類と使い方をサンプルコード付きで解説
ビット演算子は、数値を構成する個々のビットに対して直接演算を行うための演算子です。C#では、論理演算とシフト演算を合わせて6種類のビット演算子が用意されており、フラグ管理やパフォーマンスが求められる処理などで活用されます。 C#の主なビット演算子一覧 各ビット演算子の動作は以下のとおりです(例では A = 60、B = 13 を使用しています)。 演算子説明使用例 &二項AND演算子。両方のオペランドで対応するビットが1の場合のみ、そのビットを結果にコピーします。(A & B) = 12(0000 1100) |二項OR演算子。どちらか一方のオペランドでビットが1になっ
-
C#のbool型(ブール型)とは?基本の使い方をサンプルコードで解説
C#におけるブール型は、boolキーワードで表され、System.Boolean構造体のエイリアス(別名)として定義されています。この型は、true(真)またはfalse(偽)という2つのブール値のみを格納する変数を宣言するために使用されます。条件分岐や繰り返し処理など、プログラムの制御フローを扱う場面で欠かせない基本的なデータ型です。bool型の使用例それでは、C#でbool型を実際にどのように使うのか、サンプルコードを見てみましょう。using System; public class Demo { static void Main() { // bool型の変数
-
C#のプリプロセッサディレクティブとは?種類と使い方をわかりやすく解説
プリプロセッサディレクティブとはプリプロセッサディレクティブとは、実際のコンパイルが開始される前に、コンパイラへ情報の前処理(プリプロセス)を指示するための命令です。シンボルの定義や条件付きコンパイルなど、ソースコードのコンパイル方法を制御したい場面で活用されます。すべてのプリプロセッサディレクティブは「#」で始まり、1行の中でディレクティブより前に記述できるのは空白文字だけです。また、プリプロセッサディレクティブはステートメント(文)ではないため、行末にセミコロン(;)を付ける必要はありません。C#の主なプリプロセッサディレクティブ一覧No.ディレクティブと説明1#defineシンボルと呼ば