C#

 Computer >> コンピューター >  >> プログラミング >> C#
  1. C#のコンテキストキーワードとは?意味と一覧をわかりやすく解説

    C#のコンテキストキーワードとはC#では、コード内で使用される文脈(コンテキスト)によって特別な意味を持つ識別子が存在します。代表的な例が、プロパティのアクセサーとして使われる「get」や「set」です。このように、特定の場面でのみキーワードとして機能する語を「コンテキストキーワード」と呼びます。コンテキストキーワードは、通常の予約語(class や int など)とは異なり、常に予約されているわけではありません。そのため、変数名やメソッド名などの識別子としても自由に使用できるのが大きな特徴です。コンテキストキーワードの一覧以下は、C#で定義されている主なコンテキストキーワードの一覧です。コン

  2. C#の動的配列とは?ArrayListを使った動的な配列の作成方法を解説

    動的配列とは、実行時にサイズを自由に拡張できる配列のことです。通常の静的配列は宣言時にサイズが固定されるため、後から要素数を変更することはできません。その点、動的配列は柔軟性が高く、多くの場面で有利になります。C#で配列を動的に作成するには、ArrayListコレクションを使用します。ArrayListは、個別にインデックスアクセスが可能なオブジェクトの順序付きコレクションを表します。動的なメモリ割り当てに対応しており、リストへの要素の追加(Add)、検索、並べ替え(Sort)なども簡単に行えます。C#で動的配列を作成するサンプルコード以下は、C#でArrayListを使って動的に配列を作成す

  3. C#のイベントとは?基本の仕組みと使い方を実例付きで解説

    C#におけるイベント(Event)とは、キーの押下、マウスのクリックや移動といったユーザー操作、あるいはシステムが生成する通知など、プログラムの外部で発生した「出来事」を表す仕組みです。イベントはクラス内で宣言され、発生(raise)されます。そして、デリゲート(delegate)を介してイベントハンドラと関連付けられます。この関連付けは、同じクラス内でも別のクラスでも行うことが可能です。イベントを保持しているクラスは、そのイベントを外部に公開(パブリッシュ)する役割を担います。イベント宣言の基本手順クラス内でイベントを宣言するには、まずイベント用のデリゲート型を定義する必要があります。例えば

  4. C#のコンストラクタとデストラクタの違いとは?特徴とサンプルコードで徹底解説

    コンストラクタ(Constructor)とは コンストラクタは、クラスの新しいオブジェクト(インスタンス)を生成する際に自動的に実行される特殊なメンバー関数です。主にフィールドの初期化など、オブジェクトを使い始める前の準備処理を行うために使用されます。 コンストラクタには、次のような特徴があります。 クラス名と完全に同じ名前を持つ 戻り値の型を持たない(voidも記述しない) オブジェクト生成時に自動的に呼び出される 例えば、クラス「Demo」に対するコンストラクタは、次のように定義します。 class Demo { public Demo() {} } 実際にコンストラクタ

  5. C#のrefパラメーターとoutパラメーターの違いとは?使い分けのポイントを解説

    C#には、メソッドに引数を渡す際に変数そのものへの参照を渡すための仕組みとして、「refパラメーター」と「outパラメーター」の2種類が用意されています。どちらも呼び出し元の変数の値をメソッド内から直接操作できる点は共通していますが、初期化の要否や代入のルール、想定される用途に違いがあります。本記事では、サンプルコードを交えながら、両者の違いをわかりやすく解説します。 refパラメーター(参照パラメーター)とは refパラメーターは、変数のメモリ上の場所(参照)をそのまま渡す仕組みです。通常の値渡しとは異なり、新しいストレージ領域は作成されません。そのため、メソッド内で行った変更が、そのまま呼

  6. C#入門:クラスメソッドとメンバー変数(クラスメンバー)の違いをわかりやすく解説

    C#のようなオブジェクト指向言語では、クラスを構成する要素として「メソッド(メンバー関数)」と「メンバー変数(フィールド)」があります。この2つは役割がまったく異なり、それぞれを正しく理解することが、カプセル化を活かした良質なコード設計への第一歩となります。本記事では、両者の違いを具体的なサンプルコードとともにわかりやすく解説します。 クラスメソッド(メンバー関数)とは? クラスのメンバー関数、すなわちメソッドとは、その定義やプロトタイプがクラス定義の中に記述される関数のことです。他の変数と同じようにクラス内で宣言され、そのクラスのオブジェクトに対して操作を行います。 メソッドの大きな特徴は、

  7. C#のArrayクラスのプロパティとは?主要プロパティと使い方を解説

    C#におけるArrayクラスは、すべての配列の基底クラスであり、System名前空間で定義されています。このクラスには、配列のサイズや読み取り専用かどうか、次元数などの情報を取得するための便利なプロパティが多数用意されています。Arrayクラスの主なプロパティ一覧No.プロパティと説明1IsFixedSize配列が固定サイズであるかどうかを示す値を取得します。2IsReadOnly配列が読み取り専用であるかどうかを示す値を取得します。3Length配列のすべての次元に含まれる要素の総数を、32ビット整数(int)として取得します。4LongLength配列のすべての次元に含まれる要素の総数を、

  8. C#のArray.Rankプロパティとは?配列の次元数を取得する方法を解説

    C#では、Rankプロパティを使うことで、配列が持つ次元数(ディメンションの数)を簡単に取得できます。この記事では、Rankプロパティの基本的な使い方と、あわせて覚えておきたい関連メソッドについて解説します。Rankプロパティで次元数を取得する配列の次元数を調べるには、以下のようにRankプロパティを使用します。arr.Rankここで、arrは対象となる配列です。例えば、次のような2次元配列の場合、Rankは「2」を返します。int[] arr = new int[5,5];GetLengthメソッドで行数・列数を取得する配列の各行・各列の要素数(長さ)を取得したい場合は、GetLengthメ

  9. C#の文字列リテラルで@プレフィックスを付けるとどうなる?逐語的文字列の基本

    C#では、文字列リテラルの先頭に@(アットマーク)を付けると、その文字列は「逐語的文字列(verbatim string)」として扱われます。これにより、記号の後に続く文字列内の特殊文字をエスケープする必要がなくなります。例えば、次の記述は@D:\new以下の記述と同じ意味になります。D:\\new通常の文字列リテラルでは「\」(バックスラッシュ)がエスケープ文字として解釈されるため、「\\」のように2つ重ねて記述する必要があります。しかし、@を付ければ1つで済むため、Windowsのファイルパスや正規表現などを扱う際に特に便利です。また、@プレフィックスは、長い文字列を複数行にわたって記述・

  10. C#の名前空間(namespace)とは?定義方法と基本的な使い方を解説

    名前空間とは名前空間(namespace)とは、ある一連の名前を別の一連の名前から分離して管理するための仕組みです。大規模なプロジェクトでは、複数の開発者が同じ名前のクラスやメソッドを作成することがあり、名前の衝突(コンフリクト)が発生する可能性があります。名前空間を使うことで、こうした衝突を防ぎ、コードを論理的に整理できます。また、.NET Framework が提供する System なども名前空間の一つであり、標準ライブラリの機能はすべて名前空間によって分類・管理されています。名前空間の定義方法名前空間の定義は、namespace キーワードで始まり、その後に名前空間名を続けて記述します

  11. C#の動的ポリモーフィズムとは?仕組みと実装例をわかりやすく解説

    オブジェクト指向プログラミングにおけるポリモーフィズム(多態性)は、大きく分けて「静的(スタティック)」と「動的(ダイナミック)」の2種類があります。 静的ポリモーフィズム:関数呼び出しへの応答がコンパイル時に決定されます。メソッドのオーバーロードなどが代表例です。 動的ポリモーフィズム:関数呼び出しへの応答が実行時(ランタイム)に決定されます。 C#では、抽象クラスや基底クラスの仮想関数(virtualメソッド)と、それを派生クラスでオーバーライドする仕組みによって、動的ポリモーフィズムを実現します。これにより、同じインターフェースを持つ異なるオブジェクトに対して、実際の型に応じた適切な

  12. C#のListでRemoveAtメソッドを使って要素を削除する方法

    C#のRemoveAtメソッドは、リスト(List<T>)から指定したインデックス位置にある要素を削除するためのメソッドです。インデックスは0から始まるため、扱い方に注意が必要です。RemoveAtメソッドの基本構文list.RemoveAt(index);indexには削除したい要素の位置(0始まり)を指定します。なお、存在しないインデックスを指定した場合はArgumentOutOfRangeExceptionがスローされるので気をつけましょう。サンプルコードまず、リストに要素を追加します。var subjects = new List<string>(); subj

  13. C#のfloat・double・decimalの違いを徹底解説!精度・範囲・メモリサイズの比較と使い分け

    C#には、小数点を含む数値を扱うためにfloat(浮動小数点型)、double(倍精度浮動小数点型)、decimal(10進数型)の3つの型が用意されています。これらはすべてC#における値型(Value Type)に分類されます。 値型の変数には、値を直接代入することができます。これらの型はすべて System.ValueType クラスから派生しており、変数自体がデータを直接保持するという特徴があります。 一見似ているこの3つの型ですが、精度・表現できる範囲・メモリサイズが異なるため、用途に応じた使い分けが重要です。以下、それぞれの特徴を詳しく見ていきましょう。 float型(単精度浮動小数

  14. C#のdo...whileループの使い方を徹底解説!構文とサンプルコード付き

    C#におけるdo...whileループは、条件の判定をループの最後で行う繰り返し処理です。一般的なwhileループとよく似ていますが、最大の違いは「条件に関係なく、必ず最低1回はループ本体が実行される」という点です。 do...whileループの基本構文 do...whileループを作成するには、次のように記述します。 do { statement(s); } while( condition ); 条件式(condition)がループの末尾に置かれているため、プログラムの流れとしては以下のようになります。 まず、ループ内のステートメント(statement)が無条件に1回実行される

  15. C#のネストされたクラス(入れ子クラス)とは?基本構文と使い方をわかりやすく解説

    ネストされたクラス(入れ子クラス)とはネストされたクラス(nested class/入れ子クラス)とは、別のクラス(外側のクラス=エンクロージングクラス)の中で宣言されたクラスのことです。ネストされたクラスは、その外側のクラスのメンバーとして扱われます。ここで重要なポイントは、外側のクラスのメンバーは、ネストされたクラスのメンバーに直接アクセスできないという点です。両者はあくまで独立した存在であり、アクセス修飾子に従ってアクセスを制御する必要があります。C#におけるネストされたクラスのコード例以下は、C#でネストされたクラスを定義・利用するサンプルコードです。class One { p

  16. C#のArrayクラスでよく使われる主要メソッド一覧と使い方を解説

    C#におけるArrayクラスは、すべての配列の基底クラスであり、System名前空間に定義されています。このクラスには、配列を操作するための便利なメソッドが多数用意されており、日常的なプログラミングで頻繁に利用されます。ここでは、Arrayクラスの中でも特によく使われる代表的なメソッドを紹介します。Arrayクラスの主なメソッド一覧番号メソッドと説明1Clear配列内の指定範囲の要素を、要素の型に応じてゼロ・false・nullに設定します。2Copy(Array, Array, Int32)元の配列の先頭要素から指定した長さ分の要素をコピーし、別の配列の先頭から貼り付けます。長さは32ビット

  17. C#の静的メンバー(staticメンバー)とは?特徴と使い方を実例で解説

    C#における静的メンバーの基本C#では、staticキーワードを使うことで、クラスのメンバーを「静的メンバー」として定義できます。クラスのメンバーをstaticとして宣言すると、そのクラスからいくつのオブジェクト(インスタンス)を作成しても、静的メンバーの実体は常に1つだけであることを意味します。つまり、staticキーワードは「そのメンバーがクラスに対してただ1つだけ存在する」ことを表しています。この特性を活かし、静的変数は定数の定義などによく使われます。静的変数には、クラスのインスタンスを生成しなくても、クラス名を指定するだけで直接アクセスできるという利点があります。また、静的変数はメンバ

  18. C#の静的メンバー関数(staticメソッド)とは?特徴と使い方を実例付きで解説

    C#における静的メンバー関数(staticメソッド)は、クラスのインスタンスを作成しなくても呼び出せる特別なメソッドです。この記事では、静的関数の基本的な特徴と、実際のコード例を使った使い方をわかりやすく解説します。 静的メンバー関数の主な特徴 静的メンバー関数には、以下のような重要な特徴があります。 静的変数のみにアクセス可能: 静的関数の内部では、静的(static)な変数やメンバーにしかアクセスできません。インスタンス変数には直接アクセスできない点に注意が必要です。 オブジェクト生成前から存在する: 静的関数はクラスがロードされた時点で存在するため、オブジェクト(インスタンス)が作成

  19. C#におけるクラスのデフォルトアクセス修飾子とは?internalの基本を解説

    C#では、クラスやメンバにアクセス修飾子を明示的に指定しなかった場合、デフォルトのアクセスレベルはinternal(内部)になります。internalアクセス指定子が付いたクラスやメンバは、同じアセンブリ(同一プロジェクト・同一EXE/DLL)内にある他のクラスやメソッドから自由にアクセスできます。ただし、アセンブリの外部からは参照できないため、ライブラリ内部でのみ使用する型やメンバを定義したい場合に適しています。言い換えると、internalメンバは「そのメンバが定義されているアプリケーション(アセンブリ)内であれば、どのクラス・どのメソッドからでもアクセス可能」ということになります。int

  20. C#の実行時ポリモーフィズムとは?抽象クラスと仮想関数による実装を解説

    実行時ポリモーフィズムの概要実行時ポリモーフィズム(ランタイム・ポリモーフィズム)は、メソッドのオーバーライドによって実現される仕組みで、「動的バインディング(dynamic binding)」や「遅延バインディング(late binding)」とも呼ばれます。C#では、主に抽象クラスと仮想関数(virtualメソッド)を用いて実装します。抽象クラスによる実装抽象クラスには「抽象メソッド」を定義でき、その具体的な処理は派生クラス側で実装することになります。これにより、実際に呼び出されるメソッドが実行時に決定される、柔軟な設計が可能になります。以下は、抽象クラスを使って実行時ポリモーフィズムを実

Total 2668 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:12/134  20-コンピューター/Page Goto:1 6 7 8 9 10 11 12 13 14 15 16 17 18