-
C# LINQのZipメソッドで2つのシーケンスを結合する方法
C#のLINQにおけるZipメソッドは、2つのシーケンス(コレクション)の要素を1対1で対応付け、指定したラムダ式(述語)に従って1つの新しいシーケンスへ結合するためのメソッドです。数値と文字列のように異なる型のコレクションでも、柔軟にマージ処理を行えます。 まず、結合対象となる2つの配列を用意します。 int[] intArray = { 10, 20, 30, 40 }; string[] stringArray = { Jack, Tim, Henry, Tom }; 次に、Zipメソッドを使って両方の配列を結合します。 intArray.AsQueryable().Zip(strin
-
C#で3次元配列のランク(次元数)を取得する方法
C#において、3次元配列のランク(次元数)を取得するには、Rankプロパティを使用します。Rankプロパティは、配列が持つ次元の数を整数値として返します。3次元配列の宣言まず、3次元配列を宣言します。以下のように、角括弧内にカンマを2つ挟むことで3次元配列を定義できます。int[,] arr = new int[3,4,5];この例では、3×4×5の要素を持つ3次元のint型配列を作成しています。ランク(次元数)の取得配列のランクを取得するには、以下のようにRankプロパティにアクセスします。arr.Rank3次元配列の場合、このプロパティは「3」を返します。なお、1次元配列なら「1」、2次元
-
C#で3次元配列の幅と高さ(各次元のサイズ)を取得する方法
3次元配列の宣言C#では、次のようにして3次元配列を宣言できます。int[,] arr = new int[3,4,5];この例では、1次元目に3、2次元目に4、3次元目に5の要素を持つ3次元配列を作成しています。GetLengthメソッドで各次元のサイズを取得する配列の「幅」や「高さ」、つまり行数や列数といった各次元のサイズを取得するには、Array.GetLength()メソッドを使用します。引数には対象となる次元のインデックス(0から始まる)を指定します。Array.GetLength(0) – 1次元目(行)のサイズ Array.GetLength(1) – 2次元目(列)のサイズ A
-
C#で3次元配列の境界(上限・下限)を取得する方法
C#で3次元配列の境界を取得する方法 C#で3次元配列の境界(上限値・下限値)を取得するには、GetUpperBound()メソッドとGetLowerBound()メソッドを使用します。 これらのメソッドには、対象となる次元(ディメンション)を引数として指定します。次元は0から始まるインデックスで表されます。 例えば、次のような3次元配列があるとします。 int[,] arr = new int[3,4,5]; 各次元の境界を取得する 次元0(1次元目)の場合: arr.GetUpperBound(0) arr.GetLowerBound(0) 次元1(2次元目)の場合: arr.GetUpp
-
C#のArgumentNullExceptionとは?発生原因と対処法を解説
ArgumentNullExceptionは、null参照を許容しないメソッドに、引数としてnullが渡されたときにスローされる例外です。 C#では、メソッドの引数としてnullを受け付けない場合があり、そのようなメソッドにnullを渡すと、この例外が発生してプログラムが中断されます。 ArgumentNullExceptionの発生例 具体的な例を見てみましょう。以下のコードでは、int.Parse()メソッドにnull値を渡しています。このメソッドはnullを有効な引数として受け付けないため、ArgumentNullExceptionがスローされます。 サンプルコード using
-
C#でInt32値を10進数(decimal)に変換する方法
Int32値を10進数(decimal型)に変換するには、Convert.ToDecimal()メソッドを使用します。Int32は、32ビットの符号付き整数を表すデータ型です。金額計算など精度が求められる場面では、int値をdecimal型に変換して扱うことがよくあります。変換の基本手順まず、次のようなInt32値があったとします。int val = 2923;この値をdecimal型に変換するには、以下のように記述します。decimal decVal = Convert.ToDecimal(val);サンプルコードここからは、実際に動作する完全なプログラムを見ていきましょう。using Sy
-
C#でバイト値をInt32値に変換する方法
C#でバイト(byte)値をInt32値に変換するには、Convert.ToInt32()メソッドを使用します。このメソッドは、指定した値を32ビット符号付き整数(int型)へと安全に変換してくれます。Int32は32ビットの符号付き整数を表し、-2,147,483,648 ~ 2,147,483,647 の範囲の値を扱えます。一方、byte型は0~255の範囲しか表現できないため、より広い範囲での数値計算が必要な場合にInt32への変換が役立ちます。それでは、実際のコードを見ていきましょう。ここでは、byte型の最大値を表す Byte.MaxValue を例として使用します。byte val
-
C#でDouble型の値をInt64型に変換する方法【Convert.ToInt64の使い方】
C#において、Double型(倍精度浮動小数点数)の値をInt64型(64ビット符号付き整数)に変換するには、Convert.ToInt64() メソッドを使用します。Int64は、C#では long 型としても知られており、約 -9.2 × 10^18 ~ 9.2 × 10^18 の範囲の整数値を扱うことができます。浮動小数点数から整数へ変換する際、Convert.ToInt64() は銀行家丸め(四捨五入ではなく、最も近い偶数への丸め)を行う点にも注目してください。基本的な変換手順まず、変換元となるdouble型の値を用意します。double val = 23.951213e12;この値を
-
C#のAnyメソッドとは?条件を満たす要素の有無を判定する使い方とサンプルコード
C#のLINQに含まれるAnyメソッドは、シーケンス(配列やリストなどのコレクション)内の要素のうち、少なくとも1つが指定した条件を満たしているかどうかを判定するメソッドです。 条件を満たす要素が1つでも存在すれば true を返し、1つも存在しなければ false を返します。 基本構文 bool result = collection.Any(要素 => 条件); 使用例 まず、次のような整数型の配列を用意します。 int[] arr = {5, 7, 10, 12, 15, 18, 20}; この配列に対して Any() メソッドを使い、「10より大きい要素が1つでも存在するかどう
-
C#でDouble型の値を整数値に変換する方法
C#でDouble型の値を整数値に変換するには、Convert.ToInt32()メソッドを使用します。Int32は32ビットの符号付き整数を表す型です。まず、変換元となるdouble型の値を用意しましょう。double val = 21.34;続いて、この値をConvert.ToInt32()メソッドを使ってInt32型に変換します。int res = Convert.ToInt32(val);なお、Convert.ToInt32()は小数部分を四捨五入して最も近い整数に丸める点に注意してください。サンプルプログラムusing System; public class Demo { &nbs
-
C#におけるbyte型からdecimal型への暗黙的な変換方法
C#における「byte」型は、8ビットの符号なし整数を表すデータ型であり、0〜255の範囲の値を扱うことができます。 この8ビット符号なし整数(byte)からdecimal型への変換は、「暗黙的」に行うことができます。つまり、明示的なキャスト演算子を記述する必要はありません。これは、byteが表現できるすべての値(0〜255)がdecimalの表現範囲に完全に含まれており、変換時にデータ損失が発生しないためです。 ここからは、実際のコードを使って具体的な手順を見ていきましょう。 まず、次のようにbyte型の変数を用意します。 byte val = 16; 暗黙的に変換するには、以下のように単
-
C#における32ビット符号なし整数(UInt)から10進数(Decimal)への暗黙的な変換
C#では、32ビット符号なし整数型(uint)から10進数型(decimal)への暗黙的な変換が可能です。これは、decimal型がuintの表現範囲(0 ~ 4,294,967,295)をすべてカバーしているため、データ損失やオーバーフローの心配なく自動的に変換されるからです。まず、変換元となるuint型の変数を宣言します。uint val = 342741539;decimal型への変換は、特別なキャスト構文を使わずに、単純に値を代入するだけで行えます。これが「暗黙的な変換」です。decimal dec; // 暗黙的な変換 dec = val;サンプルコード以下は、暗黙的な変換を実際に確
-
C#で配列の平均値を求める方法|Queryable.Average()メソッドの使い方
C#で整数の平均値を求めたい場合は、Queryable.Average()メソッドを使用するのが便利です。このメソッドはSystem.Linq名前空間に含まれており、シーケンス内の数値要素の平均値をdouble型で返します。整数配列の準備まず、平均値を求めたい整数の配列を用意します。ここでは次のような配列を使用します。var arr = new int[] { 10, 17, 25, 30, 40, 55, 60, 70 };Average()メソッドで平均値を取得するQueryable.Average()を使用する場合は、AsQueryable()メソッドで配列をIQueryable型に変換
-
C#のCast()メソッドで要素をキャストする方法
C#のCast()メソッドとはC#では、コレクション内の要素を指定した型に変換(キャスト)する際に、LINQのCast()メソッドを使用します。特に、List<object>のように要素がobject型として格納されているリストを、string型などの具体的な型のコレクションへ変換したい場合に非常に便利です。Cast()メソッドの基本的な使い方まず、次のようなリストを用意します。List<object> myList = new List<object> { Mac, Windows, Linux, Solaris };このリストに対してCast()メソッド
-
C# LINQのContainsメソッドで配列に特定の要素が含まれるか確認する方法
C# の LINQ を使って、文字列配列の中に特定の要素が含まれているかどうかを調べるには、Contains() メソッドを使用します。このメソッドは、指定した要素がシーケンス内に存在する場合は true、存在しない場合は false を返します。まず、次のような文字列配列を用意します。string[] arr = { Java, C++, Python};続いて、Contains() メソッドを使って、この配列の中から特定の文字列を検索します。配列に対して AsQueryable() を呼び出し、その結果に対して Contains() を適用するのがポイントです。arr.AsQueryabl
-
【C#】LINQのContains()メソッドで文字列配列から特定の文字列を検索する方法
C#では、LINQのContains()メソッドを使うことで、文字列の配列の中に特定の文字列が存在するかどうかを簡単に確認できます。本記事では、具体的な手順とサンプルコードを交えて解説します。手順1:検索対象の配列を用意するまず、検索対象となる文字列の配列を定義します。string[] arr = { "Bag", "Pen", "Pencil" };手順2:検索したい文字列を変数に格納する次に、検索したい文字列をstring型の変数に代入します。string str = "Pen";手順3:Contains()メ
-
C#のLINQ Countメソッドの使い方を解説
C#のLINQにおけるCountメソッドは、シーケンス(コレクション)内に含まれる要素の数を取得するためのメソッドです。配列やリストなどの要素数を簡単にカウントできるため、日常的なプログラミングで非常によく使われます。 Countメソッドの基本的な使い方 まず、サンプルとして文字列型の配列を用意します。 string[] arr = { Java, C++, Python }; この配列に対して、AsQueryable()メソッドでクエリ可能な形式に変換し、Count()メソッドを呼び出すことで要素数を取得できます。 arr.AsQueryable().Count(); 完全なサン
-
C#のDefaultIfEmptyメソッドとは?空のコレクションに既定値を返す使い方を解説
C#のLINQに用意されているDefaultIfEmptyメソッドは、空のコレクションを安全に扱うための便利なメソッドです。コレクションが空の場合にエラーを発生させる代わりに、要素の型に応じた既定値(デフォルト値)を返してくれます。 DefaultIfEmptyメソッドの基本 まず、次のように宣言された空のリストを見てみましょう。 List<double> myList = new List<double>(); このリストには要素が1つも含まれていません。このような空のコレクションに対してDefaultIfEmptyメソッドを呼び出すと、エラーになることなく、既
-
C#で3次元配列の上限と下限を取得する方法
C#で配列の上限(インデックスの最大値)と下限(インデックスの最小値)を取得するには、それぞれ GetUpperBound() メソッドと GetLowerBound() メソッドを使用します。これらのメソッドには、対象となる次元(ディメンション)のインデックスを引数として指定します。次元は0から始まる番号で表されます。3次元配列での使い方例として、次のような3次元配列を考えてみましょう。int[,] arr = new int[2,3,4];この配列に対して、各次元の上限と下限は以下のように取得できます。次元0の場合arr.GetUpperBound(0) arr.GetLowerBound
-
C#のOverflowException(オーバーフロー例外)とは?発生原因と対処法を解説
OverflowExceptionは、パラメータとして渡された値が整数型の範囲を超えている場合にスローされる例外です。C#では、int型(Int32)が表現できる範囲は -2,147,483,648 ~ 2,147,483,647 であり、この範囲外の値を扱おうとするとOverflowExceptionが発生します。 OverflowExceptionが発生する例 典型的なケースとして、int.Parse()メソッドに整数型の範囲を超える文字列を渡した場合が挙げられます。 以下のコードでは、int型で表現できない大きな数値を文字列としてint.Parse()に渡しているため、プログラムの実行