-
C#で文字リテラル(文字定数)を定義する方法をわかりやすく解説
C#における文字リテラルの基本C#では、文字リテラル(文字定数)を単一引用符(シングルクォート )で囲んで表現します。たとえば x のように記述し、char 型の変数に格納することができます。文字リテラルとして使用できるものは、主に以下の3種類です。通常の文字 … 例:x、Aエスケープシーケンス … 例:\t(タブ)、\n(改行)ユニバーサル文字(Unicodeエスケープ) … 例:\u02C0文字定数の定義例それでは、C#で文字定数を実際にどのように扱うのか、サンプルコードを見てみましょう。using System; namespace Demo { class Program
-
C#のSortedListクラスとは?特徴と基本的な使い方を解説
SortedListクラスとは C#のSortedListクラスは、配列とハッシュテーブルを組み合わせたコレクションです。キーと値のペアからなるリストを保持しており、各要素には「キー」または「インデックス」のどちらからでもアクセスできます。 インデックスを使ってアクセスすればArrayListのように振る舞い、キーを使ってアクセスすればHashtableのように振る舞います。最大の特徴は、コレクション内の項目が常にキーの値に基づいて自動的にソートされるという点です。また、キーは重複できず、各キーには1つの値のみが対応します。 例:SortedListに要素を追加する Add()メソッドを使う
-
C#のStackクラスとは?使い方と基本操作をわかりやすく解説
C#のStackクラスは、要素を「後入れ先出し(LIFO:Last-In, First-Out)」の形式で管理するためのコレクションです。最後に追加した要素が最初に取り出されるという特性を持つため、履歴管理や元に戻す(Undo)処理など、特定の順序でデータを扱いたい場面で活用されます。 Stackの基本操作:Push と Pop Stackでは、要素を追加することを「プッシュ(Push)」、要素を取り出すことを「ポップ(Pop)」と呼びます。 Push:スタックの一番上に新しい要素を追加する Pop:スタックの一番上から要素を取り出して削除する Stackクラスの使用例 まず、Stackに
-
C#のSystem.Reflection.Moduleとは何か?基本概念と実装例をわかりやすく解説
C#におけるSystem.Reflection名前空間は、アプリケーションに関する情報を取得したり、型・値・オブジェクトを動的に追加したりするためのクラス群を提供しています。リフレクション(Reflection)機能を使うことで、プログラムの実行時にアセンブリやモジュール、クラスのメタデータにアクセスできるようになります。ModuleクラスとはSystem.Reflectionには、Moduleクラスの新しいインスタンスを初期化するためのモジュールコンストラクタが用意されています。ここでいう「モジュール」とは、1つ以上のクラスやインターフェースを含むポータブル実行可能ファイル(PEファイル)の
-
C#でのファイル処理入門:FileStreamの基本とDirectoryInfoによるファイル一覧の取得
ファイルとは、特定の名前とディレクトリパスを持つ、ディスク上に保存されたデータの集合です。そして、ファイルを読み書きのために開くと、そのファイルは「ストリーム」として扱われます。FileStreamオブジェクトの作成C#で新しいファイルを作成したり、既存のファイルを開いたりするには、FileStreamオブジェクトを作成する必要があります。FileStreamオブジェクトを作成する構文は以下の通りです。FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>,
-
【C#】Substringメソッドで文字列内のすべての部分文字列を抽出する方法
C#では、Substring()メソッドを利用することで、ある文字列に含まれるすべての部分文字列(サブストリング)を簡単に取り出すことができます。ここでは、次の文字列を例に説明します。pqr抽出する文字数(i)を1から順に増やしながら外側のループを回し、その中で開始位置(start)を移動させながらSubstringメソッドを呼び出すことで、文字列の先頭から末尾までのすべての部分文字列を取得できます。for (int start = 0; start <= str.Length - i; start++) { string substr =
-
C#でリストに要素を追加する方法【Addメソッドの基本と使い方】
C#でリスト(List<T>)に新しい要素を追加するには、Add() メソッドを使用します。この記事では、リストの宣言から要素の追加、表示までの一連の流れをサンプルコード付きで解説します。 1. リストの宣言 まず、文字列型のリストを宣言します。 var teams = new List<string>(); 2. Add() メソッドで要素を追加する リストに要素を追加するには、Add() メソッドを使います。引数に追加したい値を指定するだけで、リストの末尾に順番に格納されていきます。 teams.Add(US); teams.Add(Canada); teams
-
C#のListに整数値を追加する方法を解説
C#のリスト(List<int>)に整数値を追加するには、Add()メソッドを使用します。このメソッドは、リストの末尾に新しい要素を追加するための標準的な手段であり、最もよく使われる方法です。 1. 整数型リストの宣言 まず、C#で整数値を格納するためのリストを宣言します。ジェネリック型の List<int> を使用することで、型安全に整数のみを扱うことができます。 List<int> list1 = new List<int>(); 2. Add()メソッドで整数値を追加 次に、Add()メソッドを呼び出して、整数値を1つずつリストに追加
-
C#の既存ジャグ配列に要素を追加する方法
C#において、既存のジャグ配列(Jagged Array:配列の配列)に要素を追加・更新するのはとても簡単です。対象となるインデックスを指定し、そこに新しい値を代入するだけで完了します。 例えば、次の位置にある要素に新しい値を設定したいケースを考えてみましょう。 x[3][1] この場合、以下のように値を代入します。 x[3][1] = 500; 上記のコードでは、ジャグ配列内の4番目の配列(インデックス3)が持つ2番目の要素(インデックス1)にアクセスし、値を書き換えています。 サンプルコード それでは、ジャグ配列の宣言から要素の更新、そして結果の表示までを行う完全なサンプルコードを見てみま
-
C#のリスト(List)に文字列を追加する方法
C#でリストに文字列の値を追加するには、Add()メソッドを使用します。この記事では、List<string>の宣言から要素の追加、要素数の確認までを、サンプルコードとともにわかりやすく解説します。1. 文字列型のリストを宣言するまず、C#で文字列を格納するためのリストを宣言します。ジェネリックコレクションのList<T>を使用し、型パラメータにstringを指定します。List<string> myList = new List<string>();2. Add()メソッドで文字列を追加するリストが用意できたら、Add()メソッドを呼び出して文
-
C#で読み取り専用プロパティ(readonly)を追加する方法をわかりやすく解説
C#では、readonlyキーワードを使ってフィールドを読み取り専用にすることができます。readonlyが付いたフィールドは、オブジェクトの構築時に一度だけ値を設定でき、その後は変更することができません。変更しようとするとコンパイルエラーが発生します。ここでは、C#で読み取り専用のフィールドやプロパティを扱う方法について、具体例を交えながら詳しく解説します。readonlyフィールドの基本的な使い方まずは、readonlyフィールドを持つクラスの例を見てみましょう。class Employee { readonly int salary; Employee(int sala
-
C#で既存のリストに2つ目のリストを追加する方法|AddRange()メソッドの使い方
C#で既存のリスト(List)に2つ目のリストを結合(追加)したい場合は、AddRange()メソッドを使用します。このメソッドを使うと、引数に渡したコレクションのすべての要素を、呼び出し元のリストの末尾へ一括で追加できます。 1つ目のリストを作成する まずは元となるリストです。 List<string> list1 = new List<string>(); list1.Add("One"); list1.Add("Two"); 2つ目のリストを作成する 次に、追加したいリストを用意します。 List<string>
-
C#で配列の内容をファイルに書き込む方法:StreamWriterとStreamReaderの基本
C#では、StreamWriterクラスを使うことで、文字列配列の内容を簡単にテキストファイルへ書き出すことができます。さらに、書き込んだファイルはStreamReaderを使って読み込み、内容を確認できます。本記事では、その基本的な手順をサンプルコード付きで解説します。 1. 文字列配列の準備 まず、ファイルに書き込むための文字列配列を用意します。 string[] names = new string[] { Jack, Tom }; この例では、「Jack」と「Tom」という2つの名前を持つ配列を作成しています。 2. StreamWriterで配列の内容を書き込む foreachル
-
C#のジェネリック(Generics)とは?基本概念とメリットをわかりやすく解説
ジェネリックとはC#のジェネリック(Generics)は、任意のデータ型に対応できるクラスやメソッドを記述するための機能です。データ型の部分を「型パラメータ」と呼ばれるプレースホルダーに置き換えてクラスやメソッドの仕様を定義しておくと、コンパイラがそのコンストラクタやメソッドの呼び出しを検出した時点で、具体的なデータ型を処理するコードを自動的に生成してくれます。これにより、開発者は型ごとに似たようなコードを何度も書き直す必要がなくなり、効率的かつ安全なプログラミングが可能になります。ジェネリックがもたらすメリットジェネリックは、以下のような点でプログラムを大きく強化してくれるテクニックです。コ
-
C#でリストをコピーまたは複製する方法をわかりやすく解説
C#でList<T>の内容をコピーまたは複製する方法はいくつかあります。本記事では、代表的な手法であるCopyTo()メソッドを使って、リストを一次元配列へコピーする手順を、サンプルコードとともに詳しく解説します。 CopyTo()メソッドとは CopyTo()は、Listの要素を指定した配列にコピーするためのメソッドです。まず、コピー元となるリストを作成しましょう。 List<string> list1 = new List<string>(); list1.Add(One); list1.Add(Two); list1.Add(Three); list1
-
C#のボクシング(ボックス化)とは?仕組みとサンプルコードでわかりやすく解説
C#のボクシング(ボックス化)とは ボクシング(ボックス化)とは、値型(int や double など)を object 型(オブジェクト型)に変換する操作のことです。C#では、値型の変数を object 型の変数に代入するだけで、自動的にボクシングが行われます。 以下はボクシングの基本的な例です。 int x = 50; object ob = x; // ここでボクシングが発生 ボクシングの仕組み:スタックとヒープ ボクシングが行われると、スタックに格納されていた値がコピーされ、ヒープメモリ上のオブジェクトとして格納されます。そのため、元の値型変数と object 型変数は、それぞれ独立し
-
C#プログラミングとは?初心者にもわかる特徴と基本を徹底解説
C#(シーシャープ)とは何かC#は、Microsoft(マイクロソフト)が開発したモダンで汎用性の高いオブジェクト指向プログラミング言語です。Windowsアプリケーションの開発をはじめ、Webサービス、ゲーム開発(Unity)、業務システムなど、幅広い分野で活用されています。C#は「共通言語基盤(CLI:Common Language Infrastructure)」向けに設計されています。CLIは実行可能なコードとランタイム環境から構成されており、これにより異なるコンピュータプラットフォームやアーキテクチャ上で、さまざまな高水準言語を利用できるようになっています。C#の主な特徴C#には、開
-
C#のキャスト演算子とは?明示的な型変換の基本をわかりやすく解説
プログラミングにおける型変換(タイプコンバージョン)とは、あるデータ型を別のデータ型に変換することを指します。中でも明示的な変換(明示的キャスト)は、開発者が事前に定義された機能を使って意図的に行う変換であり、この際に必要となるのがキャスト演算子「( )」です。 C#では、double型からint型への変換のように、データ損失が発生する可能性がある変換は自動的に行われません。そのため、開発者が明示的にキャストを記述する必要があります。 double型をint型にキャストするサンプルコード 以下は、double型の値をint型へキャストする具体的な例です。 using System; name
-
C#のinternal修飾子とprivate修飾子の違いを徹底解説!アクセス範囲の違いと使い分け
C#には、クラスのメンバー(変数やメソッド)へのアクセス範囲を制御するための「アクセス修飾子」がいくつか用意されています。その中でもよく使われるのが internal(内部) と private(プライベート) です。この2つはどちらも外部からのアクセスを制限する役割を持ちますが、アクセスを許可する範囲が大きく異なります。本記事では、それぞれの特徴とコード例を通じて、両者の違いをわかりやすく解説します。 internal修飾子(内部アクセス指定子)とはinternal修飾子を付けたメンバーは、同じアセンブリ(プロジェクト)内であれば自由にアクセスできる ようになります。つまり、同一アプリケーシ
-
C#の暗黙的型変換と明示的型変換の違いを徹底解説!サンプルコードで学ぶ型変換の基本
はじめに C#では、異なるデータ型の間で値をやり取りする際に「型変換」が必要になります。型変換には、コンパイラが自動的に行ってくれる暗黙的型変換と、プログラマが意図的に指示する明示的型変換の2種類があります。本記事では、それぞれの特徴と違いをサンプルコードとともにわかりやすく解説します。 暗黙的型変換(Implicit Type Conversion)とは 暗黙的型変換は、C#が型の安全性を保ちながら自動的に実行してくれる変換です。小さい型から大きい型への変換(例:int → long)は、データが失われる恐れがないため、特別な記述をしなくても行えます。 次のコードを見てください。int型の