-
C#の配列に値を代入する方法をわかりやすく解説
配列の宣言と初期化は別物C#では、配列を宣言しただけでは、その時点でメモリ上に配列が初期化されるわけではありません。配列変数を初期化して初めて、実際に要素へ値を代入できるようになります。newキーワードでインスタンスを作成して代入する配列は参照型であるため、newキーワードを使って配列のインスタンスを作成する必要があります。まず配列のサイズを指定してインスタンスを生成し、その後インデックスを指定して各要素に値を代入します。double[] price = new double[5]; price[0] = 3245.50; price[1] = 1234.50; price[2] = 8765
-
C#のListコレクションでRemove・RemoveAt・RemoveRangeメソッドを使う方法
C#のList<T>コレクションには、要素を削除するための便利なメソッドがいくつか用意されています。本記事では、Remove()、RemoveAt()、RemoveRange()の3つのメソッドの使い方を、実際に動作するサンプルコードとともにわかりやすく解説します。 各メソッドの概要 Remove(T item):指定した値と一致する最初の要素を削除します。削除に成功するとtrue、失敗するとfalseを返します。 RemoveAt(int index):指定したインデックス位置にある要素を削除します。インデックスは0から始まります。 RemoveRange(int index
-
C#の配列とリスト(List)の違いとは?特徴と基本的な使い方を解説
C#における配列(Array)とリスト(List<T>)は、どちらも複数のデータをまとめて扱うためのコレクションですが、その性質には重要な違いがあります。 配列とリストの主な違い 配列は、生成時にサイズが固定される、同じ型の要素を順番に格納するコレクションです。一度作成した後は要素数を変更できません。 一方、Listはジェネリックコレクションであり、要素の追加や削除に応じてサイズが自動的に拡張・縮小します。この柔軟性が最大の特徴です。 項目配列List<T> サイズ固定可変(動的) 要素の追加不可(再作成が必要)Addメソッドで可能 宣言方法型[] 変数名Lis
-
C#のクラスと構造体の違いとは?特徴と使い分けをわかりやすく解説
クラス(Class)とはクラスは、データ型の設計図となるものです。クラス定義は class キーワードから始まり、その後にクラス名を記述します。クラスは参照型であり、インスタンスはヒープ上に生成され、変数にはそのメモリ上の場所を示す参照が格納されます。構造体(Struct)とは構造体は値型のデータ型です。1つの変数の中に、複数のデータ型からなる関連するデータをまとめて保持できるのが特徴です。構造体を作成するには struct キーワードを使用します。値型であるため、変数へ代入する際にはデータそのものがコピーされます。クラスと構造体の主な違い型の種類: クラスは参照型、構造体は値型です。継承:
-
C#におけるfinal・finally・finalizeの違いを徹底解説
JavaとC#は非常によく似た言語ですが、キーワードの扱いには細かな違いがあります。特に「final」「finally」「finalize」という3つの概念は、Javaからの移行者が混乱しやすいポイントです。本記事では、それぞれの役割とC#での実装方法をわかりやすく解説します。finalに相当する「sealed」キーワードJavaにはfinalキーワードが存在しますが、C#には同名のキーワードはありません。同じ挙動を実現したい場合は、代わりにsealedキーワードを使用します。sealedをメソッドに付加すると、そのメソッドは派生クラスでオーバーライドできなくなります。つまり、メソッドのオーバ
-
C#のDictionary(辞書)と配列の違いとは?特徴と使い方をわかりやすく解説
C#には複数のデータをまとめて扱うためのコレクションが用意されていますが、その中でもよく使われるのが「Dictionary(辞書)」と「配列(Array)」です。どちらもデータを格納する仕組みですが、構造や用途、アクセス方法に大きな違いがあります。本記事では、それぞれの特徴と基本的な使い方をコード例とともに解説します。 Dictionary(辞書)とは Dictionaryは、キー(Key)と値(Value)のペアでデータを管理するコレクションです。System.Collections.Generic名前空間に含まれており、キーを指定することで高速に対応する値へアクセスできます。キーは重複でき
-
【C#入門】Stringクラスの基本を解説!主なプロパティ・メソッドと文字列連結のサンプルコード
C#のStringクラスとは C#における string キーワードは、System.String クラスのエイリアス(別名)です。つまり、string と String はまったく同じものを指しており、どちらを使っても動作に違いはありません。Stringクラスには、文字列を操作するための便利なプロパティやメソッドが数多く用意されています。 Stringクラスの主なプロパティ Stringクラスには、次の2つの重要なプロパティがあります。 No.プロパティと説明 1Chars現在のStringオブジェクト内の指定した位置にあるCharオブジェクトを取得します。 2Length現在のS
-
C#のストリームとバイトストリームとは?基本概念とSystem.IOクラス一覧
C#におけるファイルとストリームの基本ファイルとは、特定の名前とディレクトリパスを持つ、ディスク上に保存されたデータの集合のことです。C#では、このファイルを読み取りまたは書き込みのために開くと、そのファイルは「ストリーム」として扱われます。ストリームを利用することで、プログラムはファイルの内容を連続的なデータの流れとして読み書きできるようになります。ストリームの主な種類C#のストリームは、大きく以下の2種類に分類されます。バイトストリーム(Byte Streams):Stream、FileStream、MemoryStream、BufferedStream などのクラスが含まれます。文字スト
-
C#で文字列を反転する方法(Array.Reverseの使い方)
C#で文字列を反転する方法 C#で文字列を逆順に並べ替えたい場合は、Array.Reverse()メソッドを使うのが最も簡単です。文字列はそのままでは直接反転できないため、一度文字配列(char配列)に変換してから反転処理を行います。 文字列を反転するサンプルコード 以下は、文字列を反転して返すカスタムメソッドの例です。ここでは、引数として渡された文字列「Henry」を反転させています。 public static string ReverseFunc(string str) { char[] ch = str.ToCharArray(); Array.Reverse(ch)
-
C#におけるシリアル化と逆シリアル化の基本を解説
シリアル化(シリアライズ)とはシリアル化とは、オブジェクトをバイトストリームに変換し、ストリームに書き込める形式へと変換する処理のことです。これにより、オブジェクトの状態をメモリ、ファイル、データベースなどに保存できるようになります。C#では、主に以下の2つの方法でシリアル化を行うことができます。シリアル化の種類バイナリシリアル化オブジェクトのすべてのメンバーがシリアル化されます。読み取り専用(readonly)のメンバーも含まれるのが特徴です。コンパクトなバイナリ形式で保存されるため、高速かつ効率的なのがメリットです。XMLシリアル化オブジェクトのパブリックなフィールドおよびプロパティのみが
-
【C#】String.FormatメソッドでDateTimeを文字列形式に書式設定する方法
C#では、String.Formatメソッドを使用することで、DateTimeオブジェクトをさまざまな文字列形式に書式設定できます。年・月・日それぞれに対応する書式指定子が用意されており、出力形式を柔軟に制御することが可能です。実際のサンプルコードを見てみましょう。サンプルコードusing System; static class Demo { static void Main() { DateTime d = new DateTime(2018, 2, 8, 12, 7, 7, 123); Console.WriteLine(String.Form
-
C#で文字列内の単語を逆順に反転する方法
C#で文字列内の単語を逆順に反転する方法 文字列処理の基本的な操作のひとつに、文字列を逆順に並べ替えるというものがあります。ここでは、C#を使って指定した文字列の単語(文字列)を反転させる方法を解説します。 たとえば、次のような文字列があったとします。 Welcome この文字列を反転すると、結果は次のように表示されます。 emocleW 実装コード例 文字列を反転するには、LINQの Reverse() メソッドを活用します。以下のコードを試してみましょう。 using System; using System.Linq; class Demo { static void Mai
-
C#における正規表現の基本と実践例:文字列の分割から空白の削除まで
正規表現(Regular Expression)とは、入力されたテキストに対してパターンマッチングを行うための記述方式です。.NETフレームワークには正規表現エンジンが組み込まれており、このようなパターンマッチングを簡単に実装できます。本記事では、C#で正規表現を活用する具体的な方法を2つの例を通じて解説します。まずはRegex.Splitを使った文字列の分割方法から見ていきましょう。Regex.Splitで文字列を分割する正規表現を使って文字列を分割するには、Regex.Splitメソッドを使用します。例として、改行コード(\r\n)を含む次のような文字列を想定します。string str
-
【C#】大文字で始まる単語の間にスペースを挿入する方法
C#では、WelcomeToMyWebsite のようなパスカルケース(各単語が大文字で始まる)の文字列を、Welcome To My Website のように単語ごとにスペースを入れて整形したい場面があります。本記事では、LINQを使って大文字の前に自動的にスペースを挿入する方法を解説します。 元となる文字列を用意する まず、スペースが含まれていない文字列を設定します。 var str = WelcomeToMyWebsite; ご覧のとおり、この文字列には大文字の前にスペースがありません。次に、これへスペースを追加していきます。 LINQを使ってスペースを挿入する 大文字の前にスペースを追
-
C#でHashSetを初期化する方法【重複要素の削除も解説】
C#でHashSetを初期化するにはC#でHashSetを初期化する最も簡単な方法は、コンストラクタの引数に配列などのコレクションを渡すことです。これにより、既存のコレクションからHashSetインスタンスを生成できます。var h = new HashSet<string>(arr1);上記のコードでは、配列 arr1 をHashSetに設定しています。使用している配列は以下の通りです。string[] arr1 = { electronics, accessories, electronics, };この配列には「electronics」が重複して含まれ
-
C#でArrayListに要素を追加する方法をわかりやすく解説
C#のArrayListは、非ジェネリック型のコレクションクラスです。最大の特徴は、要素を追加するたびにサイズが自動的に拡張される動的なリストであるという点です。配列と異なり、あらかじめ要素数を決めておく必要がないため、柔軟なデータ管理が可能になります。ArrayListの初期化方法まず、C#でArrayListを使用するには、System.Collections名前空間を読み込んだ上で、以下のようにインスタンスを生成します。ArrayList arr = new ArrayList();ArrayListに要素を追加する要素の追加にはAddメソッドを使用します。Addメソッドは引数に指定した
-
C#のメソッドオーバーロードと呼び出しの曖昧性について解説
C#におけるメソッドのオーバーロード(オーバーローディング)とは、同じスコープ内で同名のメソッドを複数定義できる機能です。ただし、それぞれの定義は、引数リストにおける引数の型や引数の数が互いに異なっている必要があります。 ここで注意したいのが、省略可能な引数(デフォルト引数)との組み合わせです。デフォルト値を持つ引数が含まれると、どのメソッドが呼び出されるべきか判断できなくなり、コンパイルエラー(あいまいな呼び出し)が発生する場合があります。 オーバーロードの基本例 まず、正常に動作する基本的な例を見てみましょう。次のコードでは、引数を1つ指定して呼び出しているため、パラメータが1つのメソッド
-
C#でのミューテーションテストとは?VisualMutantによるテスト品質評価の方法
C#におけるミューテーションテストの概要 C#でのミューテーションテストは、アクティブなソリューション内にあるテストスイート(テスト一式)の品質を検証する手法です。テストコードがどれだけ信頼できるものかを測るために、意図的にバグ(突然変異:ミュータント)をコードに埋め込み、そのバグをテストが正しく検出できるかどうかを確認します。 この検証を行うためには、「VisualMutant」というツールを使用します。VisualMutantは、Visual Studio IDEの拡張機能として動作するミューテーションテストツールで、開発者が普段使い慣れた環境の中でテスト品質を手軽に評価できるのが大きな魅
-
C#を使用して独自のフォントで印刷する方法
C#で独自のフォントを使用して印刷する方法C#で独自のフォントを使ってテキストを描画・印刷するには、まず以下の2つのオブジェクトを構築する必要があります。FontFamilyオブジェクトFontオブジェクトFontFamilyオブジェクトは、ArialやTimes New Romanなどの書体(フォントファミリー)を指定します。一方、Fontオブジェクトはフォントのサイズやスタイルを設定する役割を担います。この2つを組み合わせることで、自由にカスタマイズしたフォントで文字列を描画できるようになります。Arialフォントスタイルの作成例それでは、実際にArialフォントのスタイルを作成してみまし
-
C#で1つの変数と複数の変数の値を出力する方法
C#で変数の値をコンソールに表示するには、Console.WriteLine()メソッドを使用します。この記事では、単一の変数を出力する基本的な方法から、複数の変数を一度に出力する方法まで、具体例を交えて解説します。 単一の変数を出力する C#で1つの変数の値を表示するだけなら、Console.WriteLine()を使うだけで実現できます。文字列と変数を「+」演算子で連結して出力するのが最もシンプルな方法です。 次の例では、変数「a」の値を1行で表示しています。 例 using System; using System.Linq; class Program { &