-
C#で使えるループ処理の種類を解説|while・for・do...while・foreachの基本とサンプルコード
ループ文とは、特定の条件に基づいて、1つの文または複数の文を繰り返し実行するための制御構造です。C#では、用途に応じて複数の種類のループが用意されており、プログラムの効率と可読性を大きく向上させることができます。C#でサポートされている主なループは以下の3つです。番号ループの種類と説明1whileループ指定した条件がtrueである限り、文または文のグループを繰り返し実行します。ループ本体を実行する前に条件を判定するため、条件が最初からfalseの場合は一度も実行されません。2forループ一連の文を指定回数だけ繰り返し実行します。初期化・条件・更新を1行にまとめて記述できるため、ループ変数を管理
-
C#のArrayクラスとは?主なプロパティと使い方をわかりやすく解説
C#のArrayクラスとは Arrayクラスは、C#におけるすべての配列の基底クラス(基本クラス)です。このクラスはSystem名前空間で定義されており、配列を操作するためのさまざまなプロパティやメソッドが用意されています。 通常、C#で配列を作成すると、その配列は暗黙的にこのArrayクラスから派生しているため、Lengthなどの便利な機能をすぐに利用できます。 Arrayクラスの主なプロパティ一覧 以下の表は、Arrayクラスで特によく使用される代表的なプロパティをまとめたものです。 番号 プロパティと説明 1 IsFixedSize 配列が固定サイズであるかどうかを示す値を取得
-
C#のsizeof演算子とは?データ型のサイズを取得する方法
C#のsizeof()演算子は、指定したデータ型が占めるサイズ(バイト数)を返します。組み込みの値型に対して使用でき、メモリ管理やパフォーマンスの最適化を行う際に役立ちます。例えば、int型のサイズを調べたい場合は次のように記述します。sizeof(int);double型の場合は以下のとおりです。sizeof(double);サンプルコードそれでは、さまざまなデータ型のサイズを実際に確認できる完全な例を見てみましょう。using System; namespace Demo { class Program { static void Main(string[]
-
C#の配列(Array)とは?宣言方法と基本的な使い方を解説
配列(Array)とは、同じ型の要素を固定サイズで連続的に格納できるデータ構造です。複数のデータをまとめて管理したいときに使われますが、より正確には「連続したメモリ領域上に並べて格納された、同じ型の変数の集合」と考えるとイメージしやすくなります。C#における配列の宣言方法C#で配列を宣言するには、以下の構文を使用します。datatype[] arrayName;それぞれの要素の意味は次のとおりです。datatype:配列に格納する要素の型(int、stringなど)を指定します。[ ]:配列のランク(次元数)を指定します。ここで配列の大きさが決まります。arrayName:配列の名前を指定しま
-
C#でべき乗(累乗)を計算する方法を解説
C#でべき乗(ある数のn乗)を計算したい場合は、Math.Pow()メソッドを使用します。このメソッドは、Mathクラスに含まれる標準的な数学関数の一つで、指定した数値を指定した乗数で累乗した結果を返します。 Math.Pow()メソッドの基本的な使い方 Math.Pow()は、第1引数に「基数(n)」、第2引数に「指数(p)」を渡します。戻り値はdouble型です。 double res = Math.Pow(n, p); たとえば、7の3乗を計算すると、結果は343になります。 サンプルコード 以下は、Math.Pow()を使ってべき乗を計算する完全なサンプルプログラムです。 using
-
C#でフィボナッチ数列を生成・表示する方法
フィボナッチ数列とは、各項が直前の2つの項の合計になるという規則で構成される数列です。C#でフィボナッチ数列を求めるには、まず数列の最初の2つの数値を 0 と 1 に設定します。int val1 = 0, val2 = 1, val3;フィボナッチ数列の計算ロジック次に、2からnまでの範囲でループ処理を行い、フィボナッチ数列を順番に求めていきます。数列内の各数値は、直前の2つの要素の合計として以下のように計算できます。for(i=2;i<n;++i) { val3 = val1 + val2; Console.Write(val3+ ); val1 = val2;
-
C#の「new」キーワードとは?使い方をわかりやすく解説
C#における「new」キーワードは、主にオブジェクト(インスタンス)の生成や配列の作成に使用されます。この記事では、newキーワードの基本的な役割と、実際のコード例を使った具体的な使い方を解説します。配列を作成する際のnewキーワードnewキーワードを使用すると、配列のインスタンスを作成できます。以下のように記述します。int[] a = new int[5];この例では、int型の要素を5つ持つ配列がメモリ上に確保され、変数aに割り当てられます。オブジェクトを生成する際のnewキーワードnew演算子は、クラスからオブジェクトを生成(インスタンス化)するために使われます。次の例では、Numbe
-
C#のHashtableクラスのValuesプロパティとは?使い方を解説
C#のHashtableクラスには、コレクション内の「値」だけをまとめて取得するためのValuesプロパティが用意されています。このプロパティは、Hashtableに格納されているすべての値を含むICollectionオブジェクトを返します。Hashtableの宣言と値の追加まず、Hashtableコレクションを宣言します。Hashtable ht = new Hashtable();次に、Addメソッドを使ってキーと値のペアを追加していきます。ht.Add(One, Henry); ht.Add(Two, Kevin); ht.Add(Three, David);Valuesプロパティで値を
-
C#のSortedListクラスのValuesプロパティとは?使い方を実例付きで解説
C#のSortedListクラスのValuesプロパティとは C#のSortedListクラスには、コレクションに格納されたすべての値(バリュー)を取得できるValuesプロパティが用意されています。キーを意識せずに値だけを順番に取り出したい場合に便利なプロパティです。ここでは、実際のコード例を通して基本的な使い方を解説します。 手順1:SortedListクラスのインスタンスを作成する まず、SortedListクラスを宣言します。 SortedList list = new SortedList(); 手順2:Addメソッドで要素を追加する 続いて、Addメソッドを使ってキーと値のペアを追
-
C#で累乗(べき乗)を計算する方法|再帰処理を使った実装例
C#である数値の累乗(べき乗)を計算したい場合は、再帰呼び出しを使うとシンプルに実装できます。ここでは「5の3乗」を求める例をもとに、再帰による累乗計算の仕組みを解説します。再帰処理の基本的な考え方累乗を求めるには、指数(p)が0になるまで自分自身を呼び出し続ける再帰的なコードを使用します。基本となるロジックは以下のスニペットの通りです。if (p != 0) { return (n * power(n, p - 1)); }このコードでは、指数 p を1ずつ減らしながら基数 n を掛け合わせていきます。p が0になった時点で1を返すことで、再帰が終了します。再帰の流れを確認しよう例と
-
C#のガベージコレクション(GC)とは?仕組みとメリットをわかりやすく解説
ガベージコレクション(GC)とはガベージコレクション(Garbage Collection:GC)は、メモリの割り当てと解放を自動的に管理する仕組みであり、C#においては自動メモリマネージャとして機能します。開発者はメモリ管理の詳細を意識することなく、アプリケーションのロジックそのものに集中できるのが大きな特徴です。GCの基本的な動作メモリの割り当て・解放や、オブジェクトのライフタイム(生存期間)管理を自分で行う必要はありません。「new」キーワードを使ってオブジェクトを生成するたび、あるいは値型がボックス化されるたびに、メモリ割り当てが発生します。この割り当て処理は通常非常に高速に行われます
-
C#の列挙型(enum)からint値を取得する方法をわかりやすく解説
C#では、列挙型(enum)の値を整数値として扱いたい場面がよくあります。例えば、データベースへの保存やAPIとの連携などがその代表例です。そんなときは、明示的なキャスト(型変換)を使うだけで、簡単にint値を取得できます。 手順1:列挙型を定義する まず、次のように列挙型を定義します。 public enum Vehicle { Car, Bus, Truck } 手順2:(int)でキャストしてint値を取得する 列挙型の値をintに変換するには、(int)による明示的なキャストを使用します。 int a = (int)Vehicle.Car; 完全なサンプルコード 以下は、列挙型の
-
C#で複数行コメントを書く方法を解説!基本構文とサンプルコード
C#における複数行コメントとは C#では、プログラムの可読性を高めるためにコメントを記述できます。その中でも、複数行にわたって記述できるコメントを「複数行コメント(ブロックコメント)」と呼びます。 複数行コメントは、/* で始まり */ で終わります。この間に挟まれたテキストはすべてコメントとして扱われ、コンパイラによって完全に無視されるため、プログラムの動作には一切影響しません。 基本的な書き方 /* これは複数行コメントの例です。 C#では、このように 複数行にわたって説明を書けます */ /* ... */ の形式は、単一行コメント(//)では収まらない長い説明や、一時的に
-
【C#】2つのリストの共通要素をすべて出力するプログラムの書き方
C#では、LINQのIntersectメソッドを使うことで、2つのリストに共通する要素を簡単に抽出できます。この記事では、2つの整数型リストから共通要素を取得し、コンソールに出力するプログラムの作成手順を解説します。 1. 2つのリストを作成する まず、比較対象となる2つのリストを用意します。 List<int> list1 = new List<int>() {40, 20, 60, 3, 55}; List<int> list2 = new List<int>() {20, 70, 55, 80}; 2. Intersectメソッドで共通要素
-
C#のStackクラスとは?主なプロパティとメソッドを徹底解説
Stackクラスとは C#のStackクラスは、後入れ先出し(LIFO:Last-In, First-Out)という仕組みでオブジェクトを管理するコレクションです。スタックでは、最後に追加した要素が最初に取り出されるため、「直近に追加したデータから順番に処理したい」という場面で活用されます。 例えば、操作履歴の「元に戻す(Undo)」機能や、再帰的な処理の一時保存など、LIFO構造が自然にマッチするケースでよく使われています。 Stackクラスの主なプロパティ Count ― スタックに格納されている要素の数を取得します。 Stackクラスの主なメソッド一覧 Stackクラスには、要素
-
C#で3と5の両方で割り切れる数値を判定して出力するプログラム
3と5の両方で割り切れる数値を出力(判定)するには、&&演算子を使って2つの条件を同時にチェックします。 if (num % 3 == 0 && num % 5 == 0) {} 上記の条件がtrue(真)になった場合、その数値は3でも5でも割り切れることを意味します。 ポイント解説 %は剰余演算子と呼ばれ、割り算の余りを求めるための演算子です。num % 3 == 0は「numを3で割った余りが0」、すなわちnumが3の倍数であることを表します。同様にnum % 5 == 0は5の倍数であることを意味します。この2つの条件を&&(論理AND)
-
C#で1つのステートメントを使って複数の変数に同じ値を代入する方法
C#では、= 演算子を連結して使うことで、1つのステートメント(1行)で複数の変数に同じ値を代入できます。val1 = val2 = 20;上記のステートメントは、右から左へと評価されます。まず val2 に 20 が代入され、その式の結果(20)がさらに val1 に代入されます。そのため、変数 val1 と val2 の両方に同じ値 20 が格納される仕組みです。実際のコード例を見てみましょう。コード例using System; using System.Collections.Generic; using System.Linq; using System.Text; namespac
-
C#でリストのすべてのサブリスト(部分列)を出力する方法
C#では、ネストしたループと List<T> を組み合わせることで、文字列やリストからすべてのサブリスト(部分列)を効率的に生成できます。この記事では、文字列「xyz」を例に、その実装方法を段階的に解説します。 ステップ1:リストを作成する まず、サブリストを格納するためのリストを作成します。 List<string> list = new List<string>(); ステップ2:ループでサブリストを生成する ここでは、文字列「xyz」のすべてのサブリストを求めます。外側のループで文字を1つずつ処理しながら、内側のループで既存の各要素に新しい文字を連
-
C#でリストが空かどうかを確認する方法【Anyメソッドの使い方】
C#でリストが空かどうかを確認するには?C#でList<T>が空かどうかを確認するには、LINQのAnyメソッドを使用するのが一般的です。Anyメソッドは、シーケンスに要素が1つでも含まれていればtrueを返し、空の場合はfalseを返します。この結果を否定演算子!で反転させることで、リストが空かどうかを簡単に判定できます。リストの作成まず、確認対象となるリストを作成しましょう。var subjects = new List<string>(); subjects.Add("Maths"); subjects.Add("Java"
-
C#でフィボナッチ数列のn番目の値を出力する関数の書き方
C#でフィボナッチ数列のn番目の値を出力するには、配列を使って順に計算していく方法(動的計画法)が効率的です。ここでは、その実装手順をステップごとにわかりやすく解説します。実装の手順まず、求めたいn番目の数値をnumとすると、次のように変数を設定します。int n = num - 1; int[] val = new int[n + 1];続いて、フィボナッチ数列の最初と2番目の値をデフォルト値として設定します。val[0] = 0; val[1] = 1;あとは、i=2からi<=nまでループ処理を行い、フィボナッチ数を順番に求めていきます。for (int i = 2; i <=