C#

 Computer >> コンピューター >  >> プログラミング >> C#
  1. C#の仮想関数(virtualメソッド)とは?基本と使い方を実例付きで解説

    仮想関数(virtualメソッド)とは C#のvirtualキーワードは、メソッド、プロパティ、インデクサー、イベントを修飾するために使用されます。基底クラスで定義した関数を、それを継承する派生クラスで独自に実装し直したい場合に、その関数を「仮想関数」として宣言します。 仮想関数は、継承先のクラスごとに異なる実装を持つことができ、実際にどの実装が呼び出されるかは実行時に決定されます。この仕組みによって、オブジェクト指向プログラミングにおける重要な概念であるポリモーフィズム(多態性)が実現されます。 仮想関数の宣言方法 仮想関数は、メソッドの戻り値の型の前に「virtual」キーワードを付ける

  2. C#のStringWriterとStringReaderとは?文字列の読み書き方法を解説

    C#におけるStringWriterとStringReaderは、それぞれTextWriterとTextReaderクラスから派生したクラスです。これらを使うことで、メモリ上の文字列に対して効率的に読み書きを行うことができます。StringWriterとはStringWriterは、文字列バッファ(内部ではStringBuilder)へ情報を書き込むためのクラスです。TextWriterを実装しており、ファイルではなく文字列に対してテキストを出力したい場合に便利です。StringWriterの使用例以下の例では、StringReaderで読み取った文字列を処理し、ピリオド(.)を見つけたら改行

  3. C#でコレクションを配列にコピーする方法【CopyTo()メソッドの使い方】

    C#でListなどのコレクションを配列にコピーするには、CopyTo()メソッドを使用します。まずは、コピー元となるコレクション(リスト)を作成しましょう。 List<string> list1 = new List<string>(); list1.Add("Car"); list1.Add("Bus"); list1.Add("Motorbike"); list1.Add("Train"); 配列を宣言してCopyTo()メソッドでコピーする 続いて、コピー先となる文字列型の配列を

  4. C#におけるstringとStringの違いは何ですか?

    C#のstringとStringの違いC#プログラミングにおいて、stringとStringはどちらも同じ型を指しますが、その扱いには微妙な違いがあります。Stringは.NET FrameworkのクラスであるSystem.Stringを直接表すものであり、一方、stringはC#言語が用意しているSystem.Stringのエイリアス(別名)です。つまり、両者はコンパイル後にまったく同じものとして扱われます。基本的な使い方の例string str = Welcome!;このように文字列変数を宣言する際は、通常小文字のstringを使用します。使い分けの目安厳密なルールはありませんが、一般的

  5. C#におけるリテラルと定数の違いとは?種類と書き方をわかりやすく解説

    定数とリテラルとは何か 定数(constant)とは、プログラムの実行中に値を変更できない固定値のことです。そして、その固定値をソースコード上に直接記述したものを「リテラル」と呼びます。定数は整数、浮動小数点数、文字、文字列といった基本データ型のいずれにもなり得ます。さらに、enum(列挙型)による列挙定数も存在します。 整数リテラル 整数リテラルは、10進数または16進数で表現できます。基数を指定するにはプレフィックス(接頭辞)を使用します。16進数の場合は「0x」または「0X」を付け、10進数の場合はプレフィックスを付けません。 150 300u 上記の例では「150」が10進数の整数リ

  6. C#のインターフェイスとクラスの違いとは?わかりやすく解説

    C#におけるインターフェイスは、フィールドやメソッドの実装を持たない「宣言のみ」の型です。つまり、自分で定義したメソッドの中身(処理内容)を実装することはできません。一方、クラスは通常、インターフェイスで宣言されたメソッドを実際に実装する役割を担います。インターフェイスとはインターフェイスは、プロパティ・メソッド・イベントといったメンバーを定義しますが、含まれるのは宣言のみです。各メンバーの具体的な処理をどう実装するかは、そのインターフェイスを実装する派生クラスの責任となります。C#ではクラスの多重継承がサポートされていないため、代わりに複数のインターフェイスを実装することで、異なる機能を柔軟

  7. C#のString.Copy()メソッドとString.Clone()メソッドの違いとは?具体例で徹底解説

    C#には文字列を複製するためのメソッドとして、String.Copy()とString.Clone()の2つが用意されています。一見似ているこの2つのメソッドですが、その動作には重要な違いがあります。本記事では、それぞれの特徴と具体的なコード例を使って、両者の違いをわかりやすく解説します。 String.Copy()メソッドとは String.Copy()メソッドは、指定された文字列と同じ内容を持つ新しいStringインスタンスを作成します。つまり、元の文字列とは別の独立したオブジェクトが生成される点がポイントです。 Copy()メソッドのコード例 using System; class

  8. C#でGCD(最大公約数)とLCM(最小公倍数)を求めるプログラムの作成方法

    GCD(最大公約数)とは? GCD(Greatest Common Divisor:最大公約数)とは、複数の整数をすべて余りなく割り切ることができる正の整数のうち、最も大きなものを指します。たとえば、10と16の最大公約数は「2」です。 LCM(最小公倍数)とは? LCM(Least Common Multiple:最小公倍数)とは、2つの整数のどちらによっても割り切れる整数のうち、最も小さいものを指します。たとえば、10と16の最小公倍数は「80」です。 GCDとLCMの間には、次のような重要な関係が成り立ちます。 LCM × GCD = 2つの数の積 この性質を利用すると、まずユークリッ

  9. C#で基本的な四則演算(算術計算)を行うプログラムの作成方法

    C#では、算術演算子を使うことで、足し算・引き算・掛け算・割り算といった基本的な計算を簡単に実行できます。まずは、この記事で扱う主な算術演算子を一覧で確認しておきましょう。 基本的な算術演算子の一覧 番号演算子と説明1+2つのオペランドを加算します2-第1オペランドから第2オペランドを減算します3*2つのオペランドを乗算します4/分子を分母で除算します それでは、これらの演算子を使って実際に算術計算を行うC#プログラムの例を見ていきましょう。変数aとbに数値を代入し、各演算の結果を変数cに格納して、Console.WriteLineメソッドでコンソールに出力しています。 サンプルコード us

  10. C#のString.Copy()とString.CopyTo()メソッドの違いとは?

    C#のString.Copy()とString.CopyTo()の違いとは? C#には文字列をコピーするためのメソッドとして、名前がよく似たString.Copy()とString.CopyTo()の2つが用意されています。しかし、この2つは目的も動作もまったく異なります。 String.Copy() … 文字列全体を複製し、同じ内容を持つ新しい文字列オブジェクトを作成する String.CopyTo() … 文字列の一部(指定範囲の文字)を、既存のchar型配列にコピーする 以下、それぞれのメソッドについて詳しく見ていきましょう。 String.CopyTo()メソッド:文字列の一部をc

  11. C#におけるメソッドの隠蔽(シャドウイング)とは?newキーワードの使い方を解説

    C#における「メソッドの隠蔽(メソッドハイディング)」は、別名「シャドウイング(shadowing)」とも呼ばれます。これは、親クラスで定義されたメソッドを、子クラスが override キーワードを使わずに、独自のバージョンとして再定義する仕組みです。 通常のオーバーライドでは親クラス側のメソッドに virtual を付ける必要がありますが、シャドウイングでは子クラス側で new キーワードを付けるだけで、同じ名前・シグネチャのメソッドを新しく定義できます。この場合、子クラスのインスタンスから呼び出されるのは子クラス側のメソッドとなり、親クラスの同名メソッドは隠される形になります。 シャドウ

  12. C#で入力した数値がアームストロング数かどうかを判定するプログラムの作成方法

    アームストロング数(Armstrong Number)とは、各桁の数字を3乗した値の合計が、元の数値そのものと等しくなる数のことです。例えば「153」の場合、1³ + 5³ + 3³ = 1 + 125 + 27 = 153 となり、合計が元の数値と一致するため、アームストロング数であると判定できます。アームストロング数の判定ロジック判定の手順は以下の通りです。まず、数値を10で割った余りを求めることで、最下位の桁(1の位)を取り出します。そして、その余りを3乗して合計に加算していきます。rem = i % 10; sum = sum + rem*rem*rem;次に、数値を10で割ることで桁

  13. C#の静的バインディングとは?仕組みとオーバーロードによる実装方法を解説

    静的バインディングとは 静的バインディング(Static Binding)とは、コンパイル時に関数(メソッド)とオブジェクトを結び付ける仕組みのことです。「早期バインディング(Early Binding)」とも呼ばれます。 実行時に呼び出す関数を決める動的バインディング(Dynamic Binding)とは異なり、静的バインディングではプログラムの実行前に、実際に呼び出される関数が確定します。そのため、実行時のオーバーヘッドが少なく、高速に動作するというメリットがあります。 C#で静的ポリモーフィズムを実現する2つの手法 C#では、静的バインディングを利用した「静的ポリモーフィズム(静的多態

  14. 【C#】可変文字列(StringBuilder)と不変文字列(string)の違いを徹底解説

    可変文字列(StringBuilder)とはC#における可変文字列とは、StringBuilderクラスを使用した文字列のことです。StringBuilderを使うと、文字列の文字数を後から自由に拡張したり、内容を書き換えたりすることができます。通常のstring型は一度生成すると変更できませんが、StringBuilderは内部バッファを直接操作するため、変更のたびにメモリ上へ新しいオブジェクトを生成しません。そのため、文字列の連結や修正を繰り返す処理では、パフォーマンス面で大きなメリットがあります。StringBuilderの宣言方法:StringBuilder str = new Str

  15. C#のBitArrayクラスとは?主なプロパティとIsReadOnlyの使い方を解説

    BitArrayクラスは、ビット(bit)を格納したいものの、必要なビット数が事前にわからない場合に活用できるコレクションクラスです。System.Collections名前空間に属しており、ビット単位でのデータ管理を効率的に行えます。 BitArrayクラスの主なプロパティ C#のBitArrayクラスには、以下のような便利なプロパティが用意されています。 番号プロパティと説明 1CountBitArrayに含まれている要素の数を取得します。 2IsReadOnlyBitArrayが読み取り専用かどうかを示す値を取得します。 3ItemBitArray内の指定した位置にあるビットの値

  16. C#のThreadクラスで使える主要プロパティ一覧と使い方

    スレッドとは、プログラム内における実行経路のことです。各スレッドは、それぞれ固有の制御フローを持っています。C#(.NET)では、System.Threading.Threadクラスを使うことで、スレッドの生成や制御、状態の確認などを柔軟に行えます。Threadクラスの主なプロパティThreadクラスには、スレッドの状態や設定を取得・変更するための便利なプロパティが多数用意されています。以下に、代表的な12個のプロパティとその説明をまとめました。番号プロパティと説明1CurrentContextスレッドが現在実行されているコンテキストを取得します。2CurrentCulture現在のスレッドの

  17. C#のインターフェースと抽象クラスの違いを徹底解説!使い分けのポイント

    C#におけるインターフェースと抽象クラスの基本的な役割C#のプログラミングにおいて、インターフェース(interface)と抽象クラス(abstract class)は、どちらも派生クラスに対して共通の設計図を提供するための仕組みです。しかし、その性質や用途には明確な違いがあります。インターフェースとはインターフェースは、プロパティ・メソッド・イベントといったメンバーの「宣言」だけを定義するものです。実際の処理(実装)は含まれておらず、メンバーの中身をどう実装するかは、そのインターフェースを実装するクラス側の責任となります。抽象クラスとは抽象クラスもインターフェースと似た目的で使用されますが、

  18. C#のbreakとcontinueの違いを徹底解説!使い分けのポイントと実例コード

    C#のループ処理において、breakとcontinueはどちらもループの流れを制御する重要なステートメントですが、その動作には明確な違いがあります。この記事では、それぞれの役割と具体的な使い方をサンプルコード付きで解説します。 breakステートメントとは breakステートメントは、ループを完全に終了させ、ループの直後に続くステートメントへ処理を移します。ループ内でbreakが実行されると、その時点で残りの反復処理は一切行われず、プログラムの制御はループの外側へ移ります。 continueステートメントとは continueステートメントもbreakと似た働きをしますが、決定的に異なるの

  19. C#のSystem.Consoleクラスとは?主なメソッド一覧をわかりやすく解説

    System.ConsoleクラスとはC#のSystem.Consoleクラスは、コンソールアプリケーションにおける「標準入力」「標準出力」「標準エラー出力」の各ストリームを表すクラスです。このクラスを利用することで、コンソール画面へのテキスト表示、ユーザーからのキーボード入力の受け付け、エラーメッセージの出力など、コンソールアプリケーション開発に不可欠な操作を行うことができます。また、画面のクリアやビープ音の再生、カーソル位置の制御といった補助的な機能も提供しており、C#でのコンソールプログラミングの中核となる存在です。System.Consoleクラスの主なメソッド一覧以下に、System

  20. C#で最初の100個の奇数を生成する方法を解説

    C#を使って最初の100個の奇数(1〜199)を出力するには、forループと剰余演算子(%)を組み合わせるのが最もシンプルな方法です。本記事では、その基本的な考え方と実際のコード例をわかりやすく解説します。 基本の考え方 まず、1から100まで繰り返すforループを設定します。 for (val = 1; val <= 100; val++) { } 次に、ループ内で「その数値が奇数かどうか」を判定します。ある整数を2で割った余り(val % 2)が0ではない場合、その数は奇数です。この条件を使って、該当する数値だけをコンソールに出力します。 for (val = 1; val <= 100;

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