-
C#で現在のインスタンスの型を取得する方法(GetTypeメソッド)
C#でオブジェクトの現在のインスタンスの型(実行時の型)を取得するには、GetType()メソッドを使用します。このメソッドはすべての型の基底クラスであるSystem.Objectに定義されており、呼び出し元インスタンスの正確な型をSystem.Typeオブジェクトとして返します。 GetType()メソッドの基本 GetType()はインスタンスに対して呼び出すことで、その実行時の型情報を取得できます。戻り値であるTypeオブジェクトをそのまま文字列連結して出力すると、「System.String」や「System.Int32」のような完全修飾型名が表示されます。 例1:string型のイン
-
C#でタプルの要素の型を取得する方法
C#でタプル(Tuple)の要素の型を取得するには、GetType()メソッドを使用します。このメソッドは、現在のインスタンスの正確なランタイム型を表すTypeオブジェクトを返します。以下に、具体的なコード例とその実行結果を示します。 例1:入れ子になったタプルの場合 using System; public class Demo { public static void Main(String[] args){ var tuple1 = Tuple.
-
【C#】ManagedThreadIdで現在管理されているスレッドの一意の識別子を取得する方法
C#でスレッドを扱う際、共通言語ランタイム(CLR)は管理対象の各スレッドに対して一意の識別子を自動的に割り当てます。この識別子はThread.ManagedThreadIdプロパティから取得でき、プロセスが有効な間は他のどのスレッドのIDとも重複しません。 ManagedThreadIdは、ログ出力やデバッグの際に特定のスレッドを追跡したい場合などに非常に役立ちます。ここでは、実際のコード例を使ってその取得方法を解説します。 例1:新規スレッドとスレッドプールのスレッドを確認する まず、新しいスレッドを作成し、同時にスレッドプールへ処理を登録した場合の動作を見てみましょう。 using S
-
C#のSortedListにキーと値のペアを追加する方法
C#のSortedListにキーと値のペアを追加するには、Add()メソッドを使用します。このメソッドは、指定したキーと値をSortedListに追加し、要素は常にキーに基づいて自動的にソートされます。Add()メソッドの基本構文public virtual void Add(object key, object value);第1引数にはキー、第2引数には対応する値を渡します。なお、同じキーがすでに存在する場合にはArgumentExceptionがスローされる点に注意してください。例1:文字列のキーと値を追加する以下のコードでは、アルファベットのキーと名前の値を持つSortedListを作
-
C#でスレッドの現在の状態を確認する方法|ThreadStateプロパティの使い方
C#でスレッドの現在の状態を確認するには、ThreadState プロパティを使用します。このプロパティは、スレッドが「Unstarted(未開始)」「Running(実行中)」などどの状態にあるかを、ThreadState 列挙型の値として返します。以下に具体的なコード例を示します。 コード例1:ThreadState と ManagedThreadId の取得 using System; using System.Threading; public class Demo { public static void Main(){ Thread thread = new
-
【C#】SortedSetの作成方法と基本操作をサンプルコードで解説
C#のSortedSet<T>は、要素を自動的に昇順に並べ替えて保持するジェネリックコレクションです。重複する要素は登録できず、追加した順序にかかわらず常にソートされた状態が維持されるため、順序付きのユニークなデータ集合を扱うのに非常に便利です。 例1:SortedSetの作成と要素の取得 まず、文字列を格納するSortedSetを作成し、foreachループとGetEnumerator()メソッドで取得したEnumeratorの2つの方法で要素を取り出す例を見てみましょう。 using System; using System.Collections.Generic; publ
-
C#のArrayListの末尾にオブジェクトを追加する方法(Addメソッドの使い方)
C#でArrayListの末尾(最後)にオブジェクトを追加するには、Add()メソッドを使用します。このメソッドは、引数に指定したオブジェクトをコレクションの最後に追加し、その要素が挿入された位置(インデックス)を戻り値として返します。 Add()メソッドの基本構文 public virtual int Add(object value); value:追加するオブジェクト。nullも許容されます。 戻り値:追加された要素のインデックス(int型)。 例1:ArrayListに文字列を追加する 以下のコードでは、Add()メソッドを使って複数の名前をArrayListの末尾へ順番に追加し、
-
C#のBitArrayでビット単位の排他的論理和(XOR)演算を行う方法
C#のBitArrayクラスには、2つのビット配列の対応する要素同士でビット単位の排他的論理和(XOR)演算を実行するためのXor()メソッドが用意されています。この記事では、実際のコード例を通じて、その使い方と動作を詳しく解説します。XOR演算は、2つのビット値が異なる場合に「true」、同じ場合に「false」を返す論理演算です。例えば、「false」と「true」の組み合わせは「true」になり、「true」と「true」の組み合わせは「false」になります。サンプルコード1まずは基本的な例を見てみましょう。以下のコードでは、長さ5の2つのBitArrayを作成し、一部の要素に値を設定
-
C#のStringDictionaryにキーと値を追加する方法
StringDictionaryは、System.Collections.Specialized名前空間に属するコレクションで、キーと値の両方が必ず文字列型(string)である辞書を実現します。この記事では、Add()メソッドを使ってStringDictionaryにキーと値を追加する方法を、具体的なサンプルコードとともに解説します。 基本的な使い方:Add()メソッドで要素を追加する キーと値をStringDictionaryに追加するには、Add(string key, string value)メソッドを使用します。以下のコードをご覧ください。 using System; using
-
C#でSortedListオブジェクトのキーを取得する方法
C#のSortedListオブジェクトに格納されているキーを取得するには、Keysプロパティを使用します。このプロパティは、ICollectionインターフェースとしてキーのコレクションを返すため、foreachループなどで簡単に各キーへアクセスできます。SortedList.KeysプロパティとはKeysプロパティは、SortedList内のすべてのキーを、ソートされた順序で含むコレクションを返します。また、特定のキーのインデックス位置を調べたい場合は、IndexOfKey()メソッドが便利です。以下に具体的なサンプルコードを示します。例1:基本的な使い方using System; usin
-
C#のSortedListが読み取り専用かどうかを確認する方法
C#のSortedListが読み取り専用(Read-Only)かどうかを確認するには、IsReadOnlyプロパティを使用します。このプロパティは、リストが読み取り専用の場合にtrue、書き込み可能な場合にfalseを返します。例1:IsReadOnlyプロパティの基本的な使い方以下のコードでは、SortedListを作成し、要素を追加した後にIsReadOnlyプロパティの値を出力しています。using System; using System.Collections; public class Demo { public static void Main(String[] args)
-
C#のArrayListから特定のオブジェクトの最初の出現を削除する方法
C#のArrayListから特定のオブジェクトを削除したい場合、Remove()メソッドを使用します。このメソッドの特徴は、リスト内に同じオブジェクトが複数存在する場合でも、最初に見つかった出現(最初の一致要素)のみを削除するという点です。それ以降に出現する同じ要素はそのまま残ります。Remove()メソッドの基本動作Remove()メソッドは、引数に指定したオブジェクトと等しい最初の要素を検索して削除します。主なポイントは以下のとおりです。指定したオブジェクトが複数ある場合、最初の1つだけが削除される指定したオブジェクトが存在しない場合、例外はスローされず、リストは変更されない要素を削除する
-
C#のListから指定した要素を削除する方法(Removeメソッドの使い方)
C#のList<T>から特定の要素を削除したい場合は、Remove()メソッドを使用します。このメソッドは、引数に指定した値と一致する最初の要素をリストから取り除き、削除に成功した場合はtrue、該当する要素が存在しない場合はfalseを返します。ここでは、文字列型と整数型のリストを例に、Remove()メソッドの基本的な使い方を解説します。サンプルコード1:文字列のListから要素を削除するまずは、文字列を格納した2つのリストを用意し、そのうち片方から「US」という要素を削除する例を見てみましょう。using System; using System.Collections.Ge
-
【C#】Hashtableが同期(スレッドセーフ)されているかどうかを確認する方法
C#のHashtableが同期(スレッドセーフ)されているかどうかを確認するには、IsSynchronizedプロパティを使用します。このプロパティは、Hashtableへのアクセスが同期されている場合にtrue、されていない場合にfalseを返します。通常のHashtableインスタンスはデフォルトでは同期されていません。スレッドセーフなラッパーを作成したい場合は、静的メソッドHashtable.Synchronized()を使用します。例1:Synchronized()メソッドで同期ラッパーを作成する以下のコードでは、まず通常のHashtableを作成し、その後Hashtable.Sync
-
C#でSortedDictionaryに指定したキーが存在するかどうかを確認する方法
C#のSortedDictionaryに特定のキーが含まれているかどうかを確認するには、ContainsKeyメソッドを使用します。このメソッドは、指定したキーがディクショナリ内に存在する場合はtrue、存在しない場合はfalseを返します。以下に、具体的なコード例と実行結果を示します。例1:int型のキーで確認する場合using System; using System.Collections; using System.Collections.Generic; public class Demo { public static void Main() { &nbs
-
C#でリスト(List)に要素を追加する方法【Addメソッドの使い方】
C#でListに要素を追加するには、Addメソッドを使用します。Addメソッドは、指定した要素をリストの末尾に1つずつ追加する、もっとも基本的かつよく使われるメソッドです。ここでは、string型のリストとint型のリストそれぞれに対して要素を追加し、列挙子(Enumerator)を使ってすべての要素を順番に表示するサンプルを紹介します。例1:string型のリストに要素を追加するまずは文字列を格納するリストの例です。Addメソッドで8つの文字列を追加しています。using System; using System.Collections.Generic; public class Demo
-
C#でArrayListの末尾に要素を追加する方法(Add/AddRangeメソッドの使い方)
C#のArrayList(System.Collections名前空間)の末尾に要素を追加するには、Addメソッドを使用します。また、配列などのコレクションに含まれる複数の要素をまとめて追加したい場合は、AddRangeメソッドが便利です。以下に具体的なコード例を示します。 例1:AddメソッドとAddRangeメソッドの基本的な使い方 using System; using System.Collections; public class Demo { public static void Main(String[] args) { &n
-
C#のLinkedListで末尾に新しいノードや値を追加する方法(AddLastメソッド)
C#のLinkedList(連結リスト)の末尾に新しいノードまたは値を追加するには、AddLast()メソッドを使用します。このメソッドは、リストの最後尾に指定した要素を挿入し、リストの構造を自動的に維持してくれるため、非常に便利です。基本的な使い方以下は、文字列型のLinkedListに対してAddLast()メソッドを使い、末尾に要素を追加するサンプルコードです。例1:文字列型のLinkedListusing System; using System.Collections.Generic; public class Demo { public static vo
-
C#のHybridDictionaryが固定サイズかどうかを確認する方法
HybridDictionaryは、コレクションが小さいうちはListDictionaryとして動作し、要素が増えると自動的にHashtableへ切り替わる便利なコレクションクラスです。HybridDictionaryが固定サイズ(Fixed Size)を持っているかどうかを確認するには、IsFixedSizeプロパティを使用します。IsFixedSizeプロパティは、HybridDictionaryが固定サイズかどうかを示すブール値(true / false)を返します。通常のHybridDictionaryインスタンスは動的にサイズを変更できるため、このプロパティは常にfalseを返します
-
C#でLinkedListに含まれるノード数を取得する方法
C#のLinkedListに含まれるノードの数を取得するには、Countプロパティを使用します。このプロパティは、リンクリスト内に実際に格納されている要素(ノード)の総数をint型で返します。以下に、LinkedListのノード数を取得する具体的なコード例を示します。例1:基本的なノード数の取得とClearメソッドの動作using System; using System.Collections.Generic; public class Demo { public static void Main() { LinkedList<String> list = n