-
C#のStack.Synchronized()メソッドとは?スレッドセーフなスタックを作る方法
C#におけるStack.Synchronized()メソッドは、Stackクラスに対して同期化された(スレッドセーフな)ラッパーを返す静的メソッドです。マルチスレッド環境で複数のスレッドから同時にスタックへアクセスする場合、通常のStackインスタンスはスレッドセーフではないため、このメソッドを使って安全に操作できるラッパーを作成します。構文Synchronized()メソッドの構文は以下のとおりです。public static System.Collections.Stack Synchronized (System.Collections.Stack stack);引数stackには、同期
-
C#のStack.ToArray()メソッドとは?使い方をサンプルコード付きで解説
C#のStack.ToArray()メソッドとは C#におけるStack.ToArray()メソッドは、System.Collections名前空間のStackクラスに用意されているメソッドで、スタックの全要素を新しい配列(object型の1次元配列)にコピーするために使用します。元のスタック自体は変更されず、配列の要素順序はスタックと同じく、最後に追加された要素が先頭に来る点が特徴です。 構文 Stack.ToArray()メソッドの構文は以下のとおりです。 public virtual object[] ToArray (); 引数は不要で、戻り値としてスタックの要素のコピーを格納した
-
C#のStack.ToString()メソッドの使い方を実例付きで解説
C#のStack.ToString()メソッドは、Stackクラスのオブジェクトやその要素を文字列表現として取得するために使用されます。StackはLIFO(Last In First Out:後入れ先出し)方式で動作するコレクションであり、ToString()を活用することで、格納されている各要素を文字列として簡単に出力できます。 構文 ToString()メソッドの構文は以下のとおりです。 public string ToString (); 使用例1:整数値を格納したStackの場合 次の例では、整数値をPush()メソッドでStackに追加し、foreachループの中で各要素に対してT
-
C#のSByte.CompareTo()メソッドとは?使い方をサンプルコード付きで解説
C#におけるSByte.CompareTo()メソッドは、現在のインスタンス(呼び出し元のsbyte値)と、指定されたオブジェクトまたは別のsbyte値を比較し、両者の大小関係を表す整数値を返すメソッドです。 構文 SByte.CompareTo()メソッドには、以下の2つのオーバーロードが用意されています。 public int CompareTo (sbyte val); public int CompareTo (object ob); 1つ目の構文のパラメータ val は、比較対象となる8ビット符号付き整数(sbyte)です。2つ目の構文のパラメータ ob は、比較対象となるオブジェク
-
C#のSingle.IsNegativeInfinity()メソッドを例とともに解説
C#のSingle.IsNegativeInfinity()メソッドは、指定された数値が負の無限大(Negative Infinity)に評価されるかどうかを示す値を返します。浮動小数点数の演算結果が「-∞」になったかどうかを判定したい場合に便利なメソッドです。構文このメソッドの構文は以下の通りです。public static bool IsNegativeInfinity (float val);パラメータ val には、判定対象となる単精度浮動小数点数(float)を指定します。戻り値はbool型で、値が負の無限大であれば true、そうでなければ false を返します。使用例1まずは基
-
C#のStack.Push()メソッドとは?使い方とサンプルコードを解説
C#における Stack.Push() メソッドは、Stack(スタック)クラスの最上位に新しい要素(オブジェクト)を挿入するために使われるメソッドです。スタックは LIFO(Last In First Out:後入れ先出し)という仕組みで動作するため、最後に Push した要素が最初に取り出されます。本記事では、Push() メソッドの基本構文から、数値・文字列を扱った具体的なサンプルコードまでわかりやすく解説します。構文Stack.Push() メソッドの構文は以下のとおりです。public virtual void Push(object ob);引数 ob には、スタックに追加したいオ
-
C#のSByte.Equals()メソッドの使い方を実例付きで解説
C#のSByte.Equals()メソッドは、現在のインスタンスが指定されたオブジェクトまたはsbyte値と等しいかどうかを示す値(bool型)を返します。等しい場合はtrue、等しくない場合はfalseが返されます。構文SByte.Equals()メソッドには、以下の2つのオーバーロードがあります。public bool Equals (sbyte ob); public override bool Equals (object ob);1つ目の構文では、パラメータobに「このインスタンスと比較するsbyte値」を指定します。2つ目の構文では、パラメータobに「このインスタンスと比較するオブ
-
C#のBitConverter.ToInt64()メソッドとは?構文と使い方を実例付きで解説
C#のBitConverter.ToInt64()メソッドは、バイト配列内の指定した位置から8バイトを読み取り、それを64ビット符号付き整数(long型)に変換して返すためのメソッドです。バイト列と数値の相互変換が必要な場面、たとえばバイナリデータの解析やネットワーク通信などでよく利用されます。構文このメソッドの構文は以下のとおりです。public static long ToInt64 (byte[] val, int begnIndex);パラメータval:変換元となるバイト配列。begnIndex:val 内で変換を開始する位置(インデックス)。指定した位置から8バイト分が読み取られ、リ
-
C#でSortedListオブジェクトが固定サイズかどうかを確認する方法
C#のSortedListオブジェクトが固定サイズ(IsFixedSize)かどうかを確認するには、IsFixedSizeプロパティを使用します。このプロパティは、SortedListのサイズが固定されている場合にtrue、要素の追加や削除が可能な場合にfalseを返します。例1:IsFixedSizeプロパティの基本的な使い方以下のコードでは、SortedListに複数のキーと値を追加した後、IsFixedSizeプロパティでサイズが固定されているかどうかを確認しています。あわせて、ContainsValue()メソッドを使って特定の値が含まれているかもチェックしています。using Sys
-
C#のStringDictionaryで値のコレクションを取得する方法
C#のStringDictionaryから値のコレクションを取得するには、Keysプロパティで全キーを配列にコピーし、そのキーを使って各値へアクセスします。StringDictionaryは、キーと値がどちらも文字列型として扱われる特殊なディクショナリで、System.Collections.Specialized名前空間に属しています。 値のコレクションを取得する基本手順 Countプロパティで要素数を取得し、同じサイズのString型配列を用意します Keys.CopyTo()メソッドで、すべてのキーを配列の先頭(インデックス0)からコピーします コピーしたキーをインデクサ(strDic
-
【C#入門】2つのArrayListオブジェクトが等しいかどうかを確認する方法
C#で2つのArrayListオブジェクトが等しいかどうかを確認するには、Equals()メソッドを使用します。ただし、ArrayListクラスはEqualsメソッドをオーバーライドしていないため、このメソッドは「参照の等価性」(2つの変数が同じインスタンスを指しているかどうか)を判定するという点に注意が必要です。具体的なコード例を見ていきましょう。例1:同じインスタンスを参照している場合まず、ArrayListを作成し、それを別の変数に代入したケースです。using System; using System.Collections; public class Demo { &n
-
C#のSortedSetが指定されたコレクションのサブセットかどうかを確認する方法
C#のSortedSet<T>クラスには、あるセットが指定されたコレクションのサブセット(部分集合)であるかどうかを判定するためのIsSubsetOfメソッドが用意されています。このメソッドは、現在のSortedSetのすべての要素が引数に渡したコレクションに含まれている場合にtrueを返し、そうでなければfalseを返します。以下に具体的なコード例を示します。例1:基本的な使い方using System; using System.Collections.Generic; public class Demo { public static void Main(){
-
C#で2つのHashSetオブジェクトが等しいかどうかを確認する方法
C#で2つのHashSetオブジェクトが等しいかどうかを確認するには、Equalsメソッドを使用します。このメソッドは、指定されたオブジェクトが現在のインスタンスと等しいかどうかを判定し、結果をbool値(true / false)として返します。 以下に具体的なサンプルコードを示します。 例1:同じインスタンスを代入して比較する場合 using System; using System.Collections.Generic; public class Demo { public static void Main(String[] args) { HashSet<s
-
C#で2つのHybridDictionaryオブジェクトが等しいかどうかを確認する方法
2つのHybridDictionaryオブジェクトが等しいかどうかを確認するには、Equals()メソッドを使用します。HybridDictionaryは、System.Collections.Specialized名前空間に属するコレクションクラスで、要素数が少ないうちはListDictionaryとして動作し、要素が増えるとHashtableへ自動的に切り替わるという特徴を持っています。 ここで重要なのは、Equals()メソッドが既定では参照の等価性(同じインスタンスを参照しているかどうか)を比較するという点です。そのため、中身がまったく同じでも別々に生成されたインスタンス同士を比較す
-
C#でHashSetが指定されたコレクションのスーパーセットかどうかを確認する方法
C#において、ある HashSet が指定されたコレクションのスーパーセット(上位集合)であるかどうかを確認するには、IsSupersetOf() メソッドを使用します。このメソッドは、現在の HashSet オブジェクトが引数に渡したコレクションのすべての要素を含んでいる場合に True を返し、そうでなければ False を返します。IsSupersetOf() メソッドの基本構文public bool IsSupersetOf (System.Collections.Generic.IEnumerable<T> other);引数には比較対象のコレクションを指定し、戻り値はブ
-
C#でSortedSetが指定されたコレクションのスーパーセットかどうかを確認する方法
C#のSortedSet<T>クラスには、あるセットが指定されたコレクションのスーパーセット(上位集合)であるかどうかを判定するためのIsSupersetOf()メソッドが用意されています。この記事では、具体的なコード例を通じてその使い方を解説します。IsSupersetOf()メソッドとはIsSupersetOf(IEnumerable<T> other)は、現在のSortedSetが引数で渡されたコレクションのすべての要素を含んでいる場合にtrueを返し、そうでない場合はfalseを返します。スーパーセットとは、集合論において「ある集合が別の集合のすべての要素を含む
-
C#のRemoveAllメソッドで述語に一致するリストの全要素を削除する方法
C#では、List<T>.RemoveAll()メソッドを使用することで、述語(Predicate)で定義された条件に一致するすべての要素を、リストから一度に削除できます。条件に合致する要素が複数あっても、自分でループを書く必要はありません。 RemoveAllメソッドとは RemoveAllメソッドは、引数としてPredicate<T>デリゲートを受け取ります。このデリゲートがtrueを返す要素だけがリストから削除され、削除された要素の個数が戻り値として返されます。 例1:値「500」の要素をすべて削除する まずは、リスト内の「500」という値を持つ要素をすべて削除す
-
C#で2つのLinkedListオブジェクトが等しいかどうかを確認する方法
C#で2つのLinkedListオブジェクトが等しいかどうかを確認するには、Equals()メソッドを使用します。この記事では、具体的なサンプルコードと実行結果をもとに、その動作をわかりやすく解説します。 例1:同じ参照を持つLinkedList同士の比較 まず、2つのLinkedListを用意し、一方の変数にもう一方を代入したケースを見てみましょう。list3 = list2; とすることで、list3とlist2は同じインスタンス(同一の参照)を共有することになります。 using System; using System.Collections.Generic; public c
-
C#でコレクションからStackを作成する方法をわかりやすく解説
C#では、Stack<T>クラスのコンストラクタに既存のコレクションや配列を渡すだけで、その要素を持った新しいスタックを簡単に作成できます。この記事では、int型とstring型の2つのサンプルコードを使いながら、具体的な手順と実行結果をわかりやすく解説します。Stack<T>クラスの基本Stack<T>は、LIFO(Last In, First Out:後入れ先出し)という方式で要素を管理するジェネリックコレクションです。主なメソッドは次のとおりです。Push() … スタックの先頭に要素を追加するPop() … 先頭の要素を取り出して削除するPeek()
-
C#で別のコレクションからHashSetを作成する方法
C#では、既存のコレクションをコンストラクタの引数として渡すことで、簡単に新しい HashSet<T> を作成できます。この方法を使うと、元のコレクションの要素がすべてコピーされ、重複する要素は自動的に除外されます。以下に、別のコレクションからHashSetを作成するコード例を示します。例1:int型のコレクションからHashSetを作成using System; using System.Collections.Generic; public class Demo { public static void Main() { &nb