C#

 Computer >> コンピューター >  >> プログラミング >> C#
  1. C#のパッケージと名前空間(namespace)の基本を解説

    Javaにおける「パッケージ」に相当する機能として、C#言語には「名前空間(namespace)」が用意されています。本記事では、両者の役割の違いと、C#における名前空間の基本的な使い方をサンプルコード付きで解説します。 Javaのパッケージとは Javaのパッケージは、主に以下の目的で使用される仕組みです。 名前の衝突(ネーミングコンフリクト)を防ぐ クラスやメンバーへのアクセス制御を行う クラス、インターフェース、列挙型、アノテーションの検索・配置・利用を容易にする C#の名前空間(namespace)とは 名前空間は、ある一連の名前を別の一連の名前から切り離して管理するための仕組みで

  2. C#のtryキーワードとは?例外処理の基本と使い方を実例付きで解説

    C#におけるtryキーワードの役割C#では、tryブロックを使うことで、例外(エラー)が発生する可能性のあるコード範囲を明示的に指定できます。tryブロックで囲まれたコード内で例外がスローされると、その処理は直後に続くcatchブロックへ移ります。tryブロックの基本的な構造は次のとおりです。try { }tryブロック単体では意味がないため、例外を受け取るためのcatchステートメントも必ずセットで記述します。try { // 例外が発生する可能性のある処理 } catch( ExceptionName e1 ) { // エラー処理のコード }このように、tryブロック内に

  3. C#のタイマー(System.Timers.Timer)の使い方!定期イベント処理の基本とサンプルコード

    C#で一定時間ごとに処理を繰り返し実行したい場合、「System.Timers」名前空間のTimerクラスを使用します。この記事では、Timerクラスの基本的な使い方から、実際のコード例までわかりやすく解説します。 System.Timers.Timerとは? System.Timers名前空間に含まれるTimerクラスは、指定した間隔(インターバル)が経過した後にイベントを発生させる仕組みを持っています。単発のイベントだけでなく、AutoResetプロパティを設定することで、定期的なイベントを繰り返し発生させることも可能です。バックグラウンドでの定期処理や、監視処理などに幅広く活用できます

  4. C#のTaskクラス入門:タスクの開始方法をわかりやすく解説

    C#におけるTask(タスク)は、非同期操作を表すクラスです。時間のかかる処理をメインスレッドとは別に実行することで、アプリケーションの応答性を保ちながら効率的に処理を進められます。この記事では、C#でタスクを開始する代表的な4つの方法を、コード例とともにわかりやすく紹介します。 1. デリゲートを使ってタスクを開始する 最も基本的な方法の一つが、delegateを使用してタスクを作成・開始する方法です。new Task()でタスクのインスタンスを生成し、Start()メソッドを呼び出して実行します。 Task t = new Task(delegate { PrintMessage(); }

  5. C#で一時変数を使わずに2つの文字列を入れ替える方法

    C#プログラミングにおいて、通常は一時変数(テンポラリ変数)を使って2つの文字列の値を入れ替えますが、実は一時変数なしでも文字列の連結とSubstringメソッドを組み合わせることで、同じことが実現できます。この記事では、その具体的な手順とサンプルコードをわかりやすく解説します。基本的な考え方一時変数を使用せずに2つの文字列を入れ替えるには、以下の手順に従います。ステップ1:2番目の文字列を1番目の文字列に連結するまず、str2をstr1に連結して、両方の文字列を含む1つの文字列を作成します。str1 = str1 + str2;ステップ2:str1の元の部分をstr2に設定するSubstri

  6. C#でビット演算XORを使って1行で2つの変数を入れ替える方法

    C#では、ビットごとのXOR演算子(^)を活用することで、一時変数を使わずにたった1行のコードで2つの変数の値を入れ替えることができます。1行で変数を交換するコードval1 = val1 ^ val2 ^ (val2 = val1);この式は、C#の評価順序(左から右へ評価される特性)を利用したテクニックです。まず val2 = val1 の代入が行われ、その結果と元の値をXORで組み合わせることで、両方の変数が同時に交換されます。サンプルプログラム以下は、初期値として val1 = 30、val2 = 60 を設定し、1行のコードで2つの変数を入れ替える完全なC#のサンプルです。Exampl

  7. C#の静的メソッドと非静的メソッドの違いと使い方を解説

    C#では、メンバー関数(メソッド)をstaticキーワードを使って静的メソッドとして宣言できます。静的メソッドには以下のような特徴があります。 静的変数にのみアクセス可能:静的メソッドの内部からアクセスできるのは、静的なフィールド(変数)だけです。 オブジェクト生成前に存在:静的メソッドはクラスがロードされた時点で存在するため、インスタンス(オブジェクト)を作成しなくても呼び出せます。 クラス名で直接呼び出し可能:ClassName.MethodName() の形式で、インスタンス化なしに利用できます。 静的クラスについて static を付けたクラスはインスタンス化できません。また、静的

  8. C#でdouble型の数値を文字列として書式設定する方法(String.Formatの使い方)

    C#では、静的メソッド String.Format を使うことで、double型の数値を任意の形式で文字列に書式設定できます。小数点以下の桁数指定や、3桁ごとのカンマ区切りなど、実務でよく使われる書式を簡単に実現できます。 1. 小数点以下3桁で表示する 書式指定子 {0:0.000} を使用すると、数値を必ず小数点以下3桁で表示できます。元の数値の桁数が足りない場合は0で埋められ、余分な桁は四捨五入されます。 String.Format({0:0.000}, 987.383); // 結果: 987.383 String.Format({0:0.000}, 987.38); //

  9. C#入門:文字列リテラルとStringオブジェクトの基本をわかりやすく解説

    文字列リテラルとはC#における文字列リテラル(定数)は、ダブルクォート「」または「@」で囲んで表現します。文字列には、通常の文字、エスケープシーケンス、ユニバーサル文字など、文字リテラルと同様の要素を含めることができます。文字列リテラルの記述例は以下の通りです。Hello, World Welcome, \文字列リテラルの使用例次のコードは、通常の文字列リテラルと、@付きの逐語的リテラル(verbatim string literal)を使った複数行文字列の例です。using System; namespace Demo { class Program { sta

  10. C#のreturnステートメントの使い方を徹底解説

    returnステートメントとは C#におけるreturnステートメントは、メソッドから呼び出し元へ値を返すために使用されるキーワードです。プログラムがあるメソッドを呼び出すと、処理の制御はその呼び出されたメソッドへと移ります。そして、メソッド内でreturnが実行されると、指定した値が呼び出し元に返され、同時に制御も呼び出し元へ戻ります。 戻り値を持つメソッドを定義する場合は、メソッドの宣言時に戻り値の型(例:double、intなど)を指定する必要があります。戻り値がない場合はvoidを指定します。 returnステートメントの基本構文 戻り値の型 メソッド名(引数リスト) { /

  11. C#でListコレクションから要素を取得する方法

    C#では、List<T>コレクションに格納した要素へ、インデックスを指定するだけで簡単にアクセスできます。本記事では、Listから要素を取得する基本的な方法を、具体的なコード例とともに解説します。 Listへの要素の追加 まず、List<int>型のコレクションを作成し、Addメソッドを使って整数の要素を追加します。 List<int> list = new List<int>(); list.Add(20); list.Add(40); list.Add(60); list.Add(80); インデックスによる要素の取得 リストから特定の

  12. C#の構造体(struct)とは?定義方法とメンバーへのアクセスを解説

    C#における構造体(structure)は「値型」に分類されるデータ型です。複数の異なるデータ型を持つ関連性のあるデータを、たった1つの変数にまとめて保持できるのが大きな特徴です。構造体を作成する際には、structキーワードを使用します。 構造体の定義方法 構造体を定義するには、structステートメントを使用します。このステートメントにより、プログラム内で複数のメンバーを持つ新しいデータ型が宣言されます。 例として、書籍情報を管理するBooks構造体を宣言してみましょう。この構造体には以下のようなメンバーが含まれます。 struct Books { public string ti

  13. C#入門:オーバーライドとシャドウイングの違いをわかりやすく解説

    C#のオブジェクト指向プログラミングでは、親クラス(基底クラス)のメソッドを子クラス(派生クラス)で再定義する方法として、「オーバーライド」と「シャドウイング」の2つの手法があります。どちらも同じ名前のメソッドを子クラス側で定義しますが、その仕組みと挙動には重要な違いがあります。 オーバーライド(Overriding)とは オーバーライドでは、サブクラスの型に固有の動作を定義できます。つまり、子クラスは親クラスのメソッドを、自身の要件に合わせて再実装することが可能です。これにより、ポリモーフィズム(多態性)を実現できます。 オーバーライドを使用するには、親クラス側のメソッドに virtual

  14. C#におけるオーバーライドとシャドウイングの違いを徹底解説

    C#では、継承関係にあるクラス間でメソッドを再定義する手段として、「オーバーライド(override)」と「シャドウイング(shadowing)」の2つがあります。どちらも親クラスのメソッドを子クラスで再定義する機能ですが、動作の仕組みや用途はまったく異なります。本記事では、両者の違いを具体例とともにわかりやすく解説します。 オーバーライドとシャドウイングの主な違い 1. 再定義される範囲が異なる シャドウイングはメソッド全体を新しく定義し直すのに対し、オーバーライドは親クラスで宣言されたメソッドの実装部分のみを差し替える仕組みです。 2. ポリモーフィズム(多態性)の挙動が異なる オー

  15. C#のvirtual・sealed・new・abstractキーワードの違いを徹底解説

    はじめにC#には、継承やポリモーフィズムに関わる重要なキーワードとして「virtual」「sealed」「new」「abstract」があります。それぞれ役割が大きく異なるため、正しく理解して使い分けることが、保守性の高いコードを書くための第一歩となります。この記事では、各キーワードの特徴と使い方をコード例とともに解説します。virtual:メソッドのオーバーライドを許可するvirtual キーワードを付けたメソッドは、派生クラスでのオーバーライド(上書き)が可能になります。親クラスのメソッドを子クラスで再定義したい場合は、親クラス側のメソッドを virtual として宣言しておく必要がありま

  16. C#で2つの数値を入れ替える(スワップする)方法

    C#で2つの数値の値を入れ替える(スワップする)場合、一時的な変数を使わずに、足し算と引き算を組み合わせたロジックで実現できます。ここでは、その基本的な考え方と実際のコード例を紹介します。 入れ替えの基本的なロジック まず、入れ替える対象となる2つの変数を用意します。 val1 = 100; val2 = 200; 次に、以下の3つの演算を行うことで、変数の値を入れ替えることができます。 val1 = val1 + val2; val2 = val1 - val2; val1 = val1 - val2; 仕組みの解説 このロジックがどのように機能するのか、順を追って確認してみましょう。

  17. C#のArray.CopyTo()とArray.Clone()メソッドの使い方と違い

    C#のCopyTo()メソッドは、現在の1次元配列のすべての要素を、指定したインデックスを起点として別の1次元配列へコピーします。コピー先の開始位置は32ビット整数で指定します。 このメソッドでは、ソース配列のどの位置からコピーを開始するかを自由に設定できるため、配列間で部分的なデータ転送を行いたい場合にも便利です。なお、コピー先の配列はあらかじめ十分なサイズで作成しておく必要があります。 CopyTo()メソッドの使用例 以下は、C#で配列クラスのCopyTo()メソッドを使用する例です。 using System; class Program { static void Main

  18. C#における右辺値(rvalue)と左辺値(lvalue)とは?違いをわかりやすく解説

    C#では、式(expression)はその性質によって分類されます。代入演算子「=」を扱ううえで重要になるのが、左辺値(lvalue)と右辺値(rvalue)という2つの概念です。それぞれの特徴を正しく理解することで、代入文の動作やコンパイルエラーの原因が明確になります。左辺値(lvalue)とはlvalue(left value:左辺値)とは、代入式の左側にも右側にも記述できる式のことです。変数は典型的なlvalueであり、メモリ上の特定の場所を参照するため、そこに値を格納することができます。右辺値(rvalue)とはrvalue(right value:右辺値)とは、代入式の右側には記述で

  19. C#でFizzBuzz問題を解くプログラムの作成方法

    FizzBuzzは、プログラミング学習の定番として知られる古典的な問題です。ルールは以下の通りです。3の倍数の場合は、数値の代わりに「Fizz」と表示する5の倍数の場合は、数値の代わりに「Buzz」と表示する3と5の両方の倍数(つまり15の倍数)の場合は、数値の代わりに「FizzBuzz」と表示するそれ以外の数値は、そのまま表示します。このルールに従って、1から100までの数値を順番に出力していくのがFizzBuzz問題です。この問題を解くポイントは、条件分岐の判定順序です。「3と5の両方の倍数」のチェックを最初に行わないと、3の倍数の条件が先に一致してしまい、「FizzBuzz」ではなく「F

  20. C#の非静的クラスとは?静的クラスとの違いをわかりやすく解説

    C#における「非静的クラス(non-static class)」とは、インスタンス化が可能な通常のクラスのことです。対照的に、staticキーワードを付けた静的クラスはインスタンスを作成できません。本記事では、非静的クラスの基本概念と、静的クラスとの主な違いについて解説します。 非静的クラスの特徴 非静的クラスは、newキーワードを使用してオブジェクト(インスタンス)を生成できます。これにより、クラス内で定義されたインスタンスメンバーにアクセスできるようになります。 1. インスタンス化が可能 非静的クラスでは、以下のようにnewキーワードを使って変数を作成できます。 public

Total 2668 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:30/134  20-コンピューター/Page Goto:1 24 25 26 27 28 29 30 31 32 33 34 35 36