-
C#でタプルを空のタプルとして初期化する方法とnullチェックのやり方
タプルを空のタプルとして初期化する方法 C#でタプルを空のタプルとして扱いたい場合は、まず宣言だけを行い、まだインスタンスを代入しない状態にします。 Tuple<string, string> myTuple; この時点では myTuple は未割り当ての状態です。実際に値を使用する前に、new キーワードを使って新しいタプルを代入する必要があります。 タプルの要素がnullかどうかを確認する方法 タプルに格納された各要素がnullかどうかを確認したい場合は、Item1 や Item2 といったプロパティを使って個別にチェックできます。以下に具体的なサンプルコードを示します。
-
C#で文字列から最後の4文字を取得する方法
C#で文字列の末尾部分だけを取り出したい場面はよくあります。例えば、ファイル名の拡張子やコード番号の末尾などを取得したいときです。本記事では、Substring()メソッドを使って、文字列から最後の4文字を簡単に取得する方法を解説します。基本的な考え方まず、対象となる文字列を用意します。string str = Football and Tennis;次に、Substring()メソッドとLengthプロパティを組み合わせます。「文字列全体の長さから4を引いた位置」を開始位置として指定することで、末尾の4文字だけを取り出せます。str.Substring(str.Length - 4);完全な
-
C#のList(リスト)の指定した位置に要素を挿入する方法
すでに作成済みのList(リスト)に要素を追加するには、Insert()メソッドを使用します。Add()メソッドが末尾への追加しかできないのに対し、Insert()メソッドを使えば、リスト内の任意の位置(インデックス)に要素を挿入できます。1. 要素の準備まず、Listを作成し、Add()メソッドで要素を追加していきます。List<int> list = new List<int>(); list.Add(989); list.Add(345); list.Add(654); list.Add(876); list.Add(234); list.Add(909);2.
-
C#でデリゲートをインスタンス化する方法を徹底解説
C# においてデリゲート(delegate)をインスタンス化するには、new キーワードを使用します。デリゲートを作成する際、new 式に渡す引数はメソッド呼び出しとよく似た形式で記述しますが、メソッドに渡す実引数は指定しない点に注意してください。例えば、次のように記述します。public delegate void printString(string s); printString ps1 = new printString(WriteToScreen);匿名メソッドによるデリゲートのインスタンス化new キーワードだけでなく、匿名メソッドを使ってデリゲートをインスタンス化することもできま
-
C#で2つのリストを結合するには?AddRange()メソッドの使い方を解説
C#で2つのリストを結合するには?C#で2つのリスト(List<T>)を1つにまとめたい場合は、AddRange() メソッドを使うのが最もシンプルです。AddRange() は、引数に渡したコレクションの全要素を、呼び出し元のリストの末尾へ一括で追加してくれます。手順1:最初のリストを作成するvar list1 = new List<string>(); list1.Add(Keyboard); list1.Add(Mouse);手順2:2つ目のリストを作成するvar list2 = new List<string>(); list2.Add(Hard D
-
C#で演算子のオーバーロードを実装する方法をわかりやすく解説
C#における演算子のオーバーロード(Operator Overloading)とは、特別な名前を持つ関数(メソッド)として演算子の動作を定義できる機能です。定義には operator キーワードを使用し、その後にオーバーロードしたい演算子の記号を続けて記述します。 この機能を活用すると、自作したクラスや構造体に対しても「+」や「-」といった標準的な演算子を自然に使えるようになります。ここでは、Box クラスに「+」演算子をオーバーロードし、2つのオブジェクトを加算する具体例を見ていきましょう。 サンプルコード using System; namespace Demo { class B
-
C#でList(リスト)を反復処理する方法|foreachループを使った基本テクニック
C#のList<T>は、コレクション内の要素を順番に取り出して処理する「反復処理(イテレーション)」が頻繁に行われるデータ構造です。本記事では、リストを作成して要素を追加し、foreachループを使って反復処理する基本的な方法を、実際のコード例とともにわかりやすく解説します。 1. リストの宣言と要素の追加 まずは文字列型のリストを宣言し、Add()メソッドで要素を追加します。 var products = new List<string>(); // 要素の追加 products.Add(Belts); products.Add(T-Shirt); product
-
C#でリストを空にする方法:Clear()メソッドの使い方を解説
C#でリスト(List)の要素をすべて削除して空にするには、Clear()メソッドを使用します。Clear()はList<T>クラスに標準で用意されているメソッドで、呼び出すだけでリスト内の全要素を一括で削除できます。 リストを作成して要素を追加する まず、文字列型のリストを作成し、複数の要素を追加してみましょう。 List<string> myList = new List<string>() { one, two, three, four, five, six }; Clear()メソッドでリストを空に
-
C#でタプルを反復処理する方法をわかりやすく解説
C#でタプル(Tuple)を扱う場合、リストなどのコレクションのように foreach 文で直接反復処理することはできません。代わりに、Item1 や Item2 といったプロパティを使って、各要素に個別にアクセスします。タプルの宣言と値の追加まず、タプルを宣言して値を設定します。Tuple<int, string> tuple = new Tuple<int, string>(100, Tom);タプルの各要素へのアクセスC#でタプルを反復処理するには、個々の要素に順番にアクセスします。tuple.Item1 // 1番目の要素 tuple.Item2 // 2番目の
-
C#で配列のサイズを取得する方法【Lengthプロパティの使い方】
C#では、配列のサイズ(要素数)を取得するためにLengthプロパティを使用します。この記事では、具体的なコード例を通じてその使い方を解説します。LengthプロパティとはLengthプロパティは、配列に含まれる要素の総数を整数値(int型)として返します。すべての配列に標準で備わっているため、追加のライブラリや複雑な処理は不要です。基本的な使い方まず、配列を設定します。int[] arr = {6, 3, 8, 4};次に、Lengthプロパティを使って配列のサイズを取得します。arr.Lengthサンプルコード実際に動作する完全なコードを見てみましょう。例using System; nam
-
C#で文字列が数値かどうかを判定する方法
C#のプログラミングでは、文字列が数値(数字のみ)で構成されているかどうかを確認したい場面がよくあります。ここでは、LINQのAllメソッドとchar.IsDigitメソッドを組み合わせて、シンプルに判定する方法を紹介します。 確認対象となる文字列の例 まず、次のような文字列があるとします。 string str = 3456; 数値かどうかを判定する方法 この文字列が数値かどうかを確認するには、以下のように記述します。 str.All(c => char.IsDigit(c)) 上記のコードは、文字列内のすべての文字が数字であれば true を返し、一つでも数字以外の文字が含まれていれ
-
C#で特定の文字列のすべての部分文字列を一覧表示する方法【Substring活用】
C#で文字列に含まれるすべての部分文字列(サブストリング)を一覧表示するには、Substringメソッドとループ処理を組み合わせます。切り出す文字数を1から順に増やしながら開始位置をずらしていくことで、抜けや重複のない全パターンを効率よく取得できます。 基本の考え方 まず、対象となる文字列を用意します。ここでは例として次の文字列を使用します。 string myStr = "pqrz"; 続いて、二重ループ(ネスト構造)を使います。外側のループで「切り出す文字数」を、内側のループで「開始位置」をそれぞれ制御し、部分文字列を新しい文字列として取得していきます。 for (in
-
C#で配列のすべての要素をループ処理する方法
C#で配列に格納されたすべての要素を順番に処理したい場面は非常に多くあります。本記事では、forループとforeachループを使った配列の走査方法を、具体的なコード例とともにわかりやすく解説します。 配列の宣言と初期化 まずは、配列を宣言して初期化します。ここでは、3つの整数値を持つint型の配列を作成します。 int[] arr = new int[] {34, 56, 12}; forループですべての要素を取得する 配列のすべての要素をループ処理するには、forループを使用します。ループの継続条件には、配列の要素数を返すLengthプロパティを指定します。 for (int i = 0;
-
C#でリンクリスト(LinkedList)の走査(トラバーサル)を実装する方法
C#では、System.Collections.Generic名前空間に含まれるLinkedList<T>クラスを使うことで、リンクリストを簡単に扱うことができます。この記事では、リンクリストの作成から要素の追加、そしてノードの走査(トラバーサル)までを解説します。1. LinkedListコレクションの作成まず、リンクリストコレクションを生成します。var list = new LinkedList<string>();2. 要素の追加AddLast()メソッドを使うと、リストの末尾に要素を追加できます。list.AddLast(One); list.AddLast(
-
C#でテキストファイルを読み書きする方法【StreamReader・StreamWriterの使い方】
C#でテキストファイルを扱う際には、StreamReaderクラスとStreamWriterクラスを使用します。StreamReaderはテキストファイルからのデータ読み取り、StreamWriterはテキストファイルへのデータ書き込みをそれぞれ担当します。どちらもSystem.IO名前空間に属しており、usingディレクティブを使えば、処理終了後に自動的にリソースが解放されるため安全です。 テキストファイルを読み込む まずは、StreamReaderを使ってテキストファイルの内容を1行ずつ読み込み、コンソールに表示するサンプルコードを見てみましょう。 using System; using
-
C#のリフレクションとは?実行時の型情報取得と活用方法を解説
リフレクション(Reflection)とはリフレクションは、プログラムの実行時に型情報を動的に取得するための仕組みです。実行中のプログラムのメタデータへアクセスするためのクラスは、System.Reflection 名前空間にまとめられています。これにより、コンパイル時に型が確定していなくても、実行時にアセンブリの中身を調べたり、オブジェクトを操作したりすることが可能になります。リフレクションの主な用途属性情報の参照: 実行時にクラスやメソッドに付与された属性の情報を取得・表示できます。型の調査とインスタンス化: アセンブリ内に含まれるさまざまな型を検査し、それらのインスタンスを動的に生成でき
-
C#でArrayListを配列(Array)に変換する方法
C#で ArrayList を配列(Array)に変換するには、ToArray() メソッドを使用します。この記事では、基本的な変換手順と実行可能なサンプルコードをわかりやすく解説します。1. ArrayListの作成まず、ArrayList を作成し、要素を追加します。ArrayList arrList = new ArrayList(); arrList.Add(one); arrList.Add(two); arrList.Add(three);ArrayList は任意の型のオブジェクトを格納できるため、ここでは文字列を3つ追加しています。2. ToArray()メソッドで変換するAr
-
C#のクラス変数と静的変数(static変数)の違いと使い方
静的変数(static変数)とはC#における静的変数(static変数)は、クラスのインスタンスを生成しなくてもクラス名を使って直接アクセスできる変数です。この特性から、定数の定義などに広く利用されています。静的変数はメンバー関数の外部やクラス定義の外部で初期化できるほか、クラス定義の中で直接初期化することも可能です。静的変数のもう一つの重要な特徴は、すべてのインスタンス間で値が共有されるという点です。次のサンプルコードでその挙動を確認してみましょう。サンプルコードusing System; namespace StaticVarApplication { class StaticV
-
C#でクラスを継承する方法をわかりやすく解説!基本構文と実装例
継承(Inheritance)とは、あるクラスをベースにして別のクラスを定義できるオブジェクト指向プログラミングの重要な機能です。継承を活用することで、コードの再利用性が高まり、アプリケーションの作成や保守が格段に容易になります。 継承の基本的な考え方 新しいクラスを作成する際、データメンバーやメンバー関数をすべてゼロから書く必要はありません。すでに存在するクラスのメンバーを引き継ぐ形で、新しいクラスを定義できます。 このとき、元となる既存のクラスを「基底クラス(Base Class)」、新しく作成されるクラスを「派生クラス(Derived Class)」と呼びます。 また、C#では1つのクラ
-
C#のFileStreamオブジェクトを使ったファイル操作の基本
C#で新しいファイルを作成・操作するには、FileStreamオブジェクトを使用します。FileStreamクラスは、System.IO名前空間に属しており、ファイルへの読み書きをバイト単位で制御できる強力な機能を提供します。FileStreamの構文FileStreamオブジェクトは、以下の形式で生成します。FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare En