C#

 Computer >> コンピューター >  >> プログラミング >> C#
  1. C#のデフォルトコンストラクターとは?基本の仕組みと使い方を解説

    C#におけるコンストラクターは、オブジェクトが生成される瞬間に自動的に呼び出される特別なメソッドです。コンストラクターの名前は、必ずクラス名と同じにする必要があります。以下はその基本的な定義例です。public class Department { public Department() { Console.WriteLine(Default Constructor!); } }次のコードは、C#でデフォルトコンストラクターを使用する際の記述例です。オブジェクトが生成されると同時に、コンストラクターが即座に呼び出されます。Department dept1 = n

  2. C#のパラメーター化されたコンストラクターとは?定義方法と実例をわかりやすく解説

    C#では、コンストラクターに引数(パラメーター)を持たせることができます。このようなコンストラクターは「パラメーター化されたコンストラクター」と呼ばれます。この手法を活用することで、オブジェクトを生成するタイミングで初期値を渡し、フィールドに代入することが可能になります。 まず、基本的な構造を見てみましょう。以下はクラスの定義例です。 // クラスの定義 class Demo パラメーター付きコンストラクターの定義方法 次の例は、rankというint型のパラメーターを受け取るパラメーター化されたコンストラクターです。 public Demo(int rank) { Console.Wri

  3. C#の遅延バインディング(レイトバインディング)とは?動的ポリモーフィズムの仕組みを解説

    静的ポリモーフィズム(静的結合)では、関数呼び出しへの応答はコンパイル時に決定されます。一方、動的ポリモーフィズムでは、その決定が実行時(ランタイム)に行われます。この実行時にメソッドが確定する仕組みこそが、遅延バインディング(レイトバインディング)と呼ばれるものです。C#では、遅延バインディングは抽象クラスや仮想関数(virtual メソッド)、そして override キーワードによるオーバーライドによって実現されます。静的ポリモーフィズムと動的ポリモーフィズムの違い静的ポリモーフィズム: メソッドのオーバーロードなどが代表例で、どのメソッドが呼ばれるかはコンパイル時に確定します。動的ポリ

  4. C# 4.0のタプル(Tuple)とは?基本の使い方をわかりやすく解説

    C# 4.0のタプル(Tuple)とはタプルとは、異なるデータ型の要素を順序付けてひとつにまとめて保持できるデータ構造です。C# 4.0で導入されたこの機能により、メソッドから複数の値を返す際に、各要素の型を個別に指定する必要がなくなり、Tuple<T>クラスのインスタンスを手軽に生成・返却できるようになりました。従来は複数の値を返すために専用のクラスや構造体を定義する必要がありましたが、タプルを使えばその手間が省け、コードをシンプルに保つことができます。タプルの宣言方法まず、2つの要素(int型とstring型)を持つタプルを宣言する例を見てみましょう。Tuple<int,

  5. C#のマルチスレッドとは?Threadクラスの基本と使い方を解説

    C#でマルチスレッドプログラミングを行う際には、System.Threading.Threadクラスを使用します。このクラスを利用することで、マルチスレッドアプリケーション内で個々のスレッドを作成し、自由に操作できるようになります。プロセス内で最初に実行されるスレッドは「メインスレッド」と呼ばれます。C#プログラムの実行が開始されると、このメインスレッドは自動的に生成されます。そして、Threadクラスを使って新たに作成したスレッドは、メインスレッドに対する「子スレッド」として扱われます。現在のスレッドを取得するサンプルコードまずは、実行中のスレッド(メインスレッド)の情報を取得して表示する基

  6. C#のIStructuralEquatableインターフェースとは?構造的な等価性の比較方法を解説

    IStructuralEquatableインターフェースの概要IStructuralEquatableインターフェースは、オブジェクト同士を「構造的な等価性(structural equality)」で比較するためのメソッドを定義するインターフェースです。ここでいう構造的な等価性とは、2つのオブジェクトが同じ値を持っている場合に等しいとみなすという概念のことです。参照の同一性ではなく、中身の値が一致しているかどうかで判断される点が特徴です。IStructuralEquatableの主なメソッドこのインターフェースには、以下の2つのメソッドが含まれています。番号メソッドと説明1Equals(Ob

  7. C#のDateTime時間関数とは?主要メソッドの一覧とAddMillisecondsの使い方を解説

    C#のDateTime構造体は、日付や時刻を扱うための多彩なメソッドとプロパティを備えています。たとえば、ある日の時間数や分数を取得することも可能です。本記事では、その中でも特に時刻に関連する関数(メソッド)に焦点を当てて解説します。C#の主な時間関連メソッド一覧DateTimeに用意されているすべての関数については、MSDN(Microsoft Developer Network)をご参照ください。以下に、代表的な加算系メソッドをまとめました。No.メソッドと概要1AddDays(Double)このインスタンスの値に指定した日数を加算した、新しいDateTimeを返します。2AddHours

  8. C#で数値の絶対値を取得・表示する方法(Math.Absメソッドの使い方)

    C#で数値の絶対値を求めるには、Math.Absメソッドを使用します。Math.AbsはSystem.Mathクラスに用意された静的メソッドで、引数に渡した数値から符号を取り除いた値(絶対値)を返します。int型のほか、double型やdecimal型など、さまざまな数値型に対応しているのも特徴です。絶対値を求める基本の手順まず、対象となる数値を設定します。int val1 = 77; int val2 = -88;次に、新しい変数を2つ用意し、それぞれの数値の絶対値をMath.Absメソッドで取得します。int abs1 = Math.Abs(val1); int abs2 = Math.A

  9. C#で2つの配列の共通要素(積集合)を取得する方法【Intersectメソッド】

    C#で2つの配列の共通要素(交差・積集合)を取得するには、Intersectメソッドを使用します。このメソッドは、System.Linq名前空間に用意されている拡張メソッドで、LINQを使った配列操作の中でも特に便利な機能の一つです。 Intersectメソッドは、2つの配列を比較し、両方に存在する共通の要素だけを返します。重複する要素は自動的に除外され、結果は一意な値のコレクションとして取得できます。 配列の準備 まず、比較対象となる2つの整数型の配列を定義します。 int[] arr1 = { 44, 76, 98, 34 }; int[] arr2 = { 24, 98, 44, 55,

  10. C#のRegexクラスとは?主なメソッド一覧と使い方を実例付きで解説

    C#のRegexクラスとはRegexクラスは、正規表現を扱うためのクラスです。正規表現とは、入力テキストとの照合(マッチング)を行うためのパターンのことであり、文字列の検索や置換、抽出などを柔軟かつ効率的に行うことができます。ここでは、Regexクラスでよく使われる主要なメソッドを紹介します。Regexクラスの主なメソッド一覧No.メソッドと説明1public bool IsMatch(string input)Regexコンストラクターで指定した正規表現が、指定された入力文字列内に一致する部分を持つかどうかを判定します。2public bool IsMatch(string input, i

  11. C#における型変換と型キャストの違いとは?基本からコード例まで解説

    C#において、型変換と型キャストは本質的に同じものを指します。どちらも「あるデータ型の値を別のデータ型へ変換する」処理のことです。C#の型キャストには、大きく分けて次の2つの形式があります。C#の型キャストの2つの形式1. 暗黙的な型変換(Implicit Conversion)暗黙的な型変換は、C#が自動的に、かつ型安全な方法で実行する変換です。プログラマーが特別な記述をしなくても、コンパイラが適切に処理してくれます。代表的な例としては、以下のようなケースが挙げられます。小さい整数型から大きい整数型への変換(例:int型からlong型へ)派生クラスから基底クラスへの変換(アップキャスト)2.

  12. C# .NETのシリアル化とは?基本の仕組みとBinaryFormatterを使った実装例

    シリアル化(シリアライズ)とはシリアル化とは、オブジェクトの状態をバイトストリーム(バイト列)に変換し、ストリームへ書き出せる形式にする処理のことです。これにより、オブジェクトのデータをメモリ、ファイル、データベースなどに保存できるようになります。保存したデータは、後から逆シリアル化(デシリアライズ)によって元のオブジェクトとして復元できるため、アプリケーション間でのデータ交換や永続化の目的で広く利用されています。C# .NETでは、シリアル化は主に次の2つの方法で行うことができます。バイナリシリアル化バイナリシリアル化では、オブジェクトのすべてのメンバーが対象になります。読み取り専用(rea

  13. C#のArrayListクラスとは?主なメソッド一覧とSort()による並べ替え方法を解説

    ArrayListクラスは、個別にインデックスでアクセスできるオブジェクトの順序付きコレクションを表します。基本的には配列(Array)の代替として利用できる便利なコレクションです。要素数が事前にわからない場合でも動的にサイズが拡張されるため、柔軟なデータ管理が可能になります。ArrayListクラスの主なメソッドArrayListクラスには、要素の追加・削除・検索・並べ替えなどを行うための多彩なメソッドが用意されています。以下に主要なメソッドとその説明をまとめました。番号メソッドと説明1public virtual int Add(object value);ArrayListの末尾にオブジ

  14. C#の三角関数(Mathクラス)の使い方を徹底解説

    C#では、Sin(正弦)、Cos(余弦)、Tan(正接)といった基本的な三角関数に加え、Asin(逆正弦)、Acos(逆余弦)、Atan(逆正接)などの逆三角関数も利用できます。これらのメソッドはすべて、System名前空間に含まれるMathクラスで提供されています。本記事では、C#で三角関数と逆三角関数を実際に使う方法を、サンプルコードと実行結果とともにわかりやすく解説します。三角関数の実装例以下のコードは、C#で代表的な三角関数・逆三角関数を呼び出す例です。using System; class Program {    static void Main() { &n

  15. C#でFileNotFoundException(ファイルが見つからない例外)をキャッチする方法

    C#で存在しないファイルにアクセスしようとすると、FileNotFoundException(ファイルが見つからない例外)が発生します。この記事では、例外の発生例と、try-catchを使った適切なエラーハンドリングの方法を解説します。 FileNotFoundExceptionとは? FileNotFoundExceptionは、指定されたパスにファイルが存在しない状態で読み込みやアクセスを試みた際にスローされる例外です。ファイル操作を行うプログラムでは、ユーザー入力や外部設定に依存するファイルパスが常に有効であるとは限らないため、必ず発生を想定した処理を書くことが重要です。 例外が発生する

  16. C#でOutOfMemoryException(メモリ不足の例外)を捕捉・処理する方法を解説

    System.OutOfMemoryExceptionは、CLR(共通言語ランタイム)が必要なメモリの確保に失敗したときに発生する例外です。この例外はSystem.SystemExceptionクラスを継承しており、プログラムが利用可能なメモリ容量を超えてリソースを要求した場合などにスローされます。 OutOfMemoryExceptionが発生する仕組み ここでは、StringBuilderの容量制限によって意図的にこの例外を発生させる例を見てみましょう。 まず、文字列を用意します。 string StudentName = Tom; string StudentSubject = Math

  17. C#でIndexOutOfRangeException(インデックス範囲外例外)をキャッチする方法

    IndexOutOfRangeExceptionとは IndexOutOfRangeExceptionは、配列の有効な範囲(境界)外のインデックスを使って要素にアクセスしようとした際に発生する例外です。C#の配列はインデックスが0から始まるため、要素数が5の配列の場合、有効なインデックスは0~4となります。 例外が発生するコードの例 まず、次のように5つの要素を持つint型の配列を用意します。 int[] n = new int[5] {66, 33, 56, 23, 81}; この配列に対して、インデックス5以上の値で要素へアクセスしようとすると、IndexOutOfRangeExcept

  18. C#の配列から要素を削除する方法【サンプルコード付きで解説】

    C#の配列は固定長のため、要素を直接「削除」することはできません。そこで一般的に用いられるのが、削除したい位置以降の要素を一つ前へずらす(シフトする)ことで、実質的にその要素を取り除く手法です。 基本的な考え方:要素をシフトして削除する まず、次のように5つの要素を持つ配列を用意します。 int[] arr = new int[5] {35, 50, 55, 77, 98}; たとえば2番目の位置(pos = 2、つまり arr[1])の要素「50」を削除したい場合は、その位置より後ろにある要素をすべて一つずつ前に移動させます。 // 削除位置以降の要素を前方へシフト for (i

  19. C#のbreak文とcontinue文でforループを制御する方法を解説

    C#におけるループ制御:break文とcontinue文の基本C#では、break文とcontinue文を使うことで、forループの流れを柔軟に制御できます。この2つのステートメントは似たような場面で使われますが、動作はまったく異なります。それぞれの違いと具体的な使い方を見ていきましょう。break文:ループを強制的に終了するbreak文は、実行された時点でループそのものを即座に終了させます。例えば、ユーザーから数値を入力してもらい、負の数が入力された時点でループを抜けて結果を表示するといった処理が可能です。以下のコードでは、負の数が入力されるとbreak文によってループが終了し、それまでの合

  20. C#におけるメソッドオーバーロードのさまざまな方法とは?

    C#のメソッドオーバーロードとはC#では、同じ名前を持つ複数のメソッドを定義することを「メソッドオーバーロード」と呼びます。オーバーロードを実現するには、以下の2つの方法があります。・パラメータのデータ型が異なる場合 ・パラメータの数が異なる場合戻り値の型だけが異なる場合はオーバーロードとして認識されないため、必ずパラメータに違いが必要です。それでは、それぞれの方法について具体例を見ていきましょう。1. パラメータのデータ型が異なる場合同じ「print」というメソッド名でも、引数のデータ型がint、double、stringと異なることで、それぞれ別のメソッドとして定義できます。コンパイラは呼

Total 2668 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:18/134  20-コンピューター/Page Goto:1 12 13 14 15 16 17 18 19 20 21 22 23 24