C#のBitConverter.ToBoolean()メソッドとは?使い方とサンプルコードを解説
C#のBitConverter.ToBoolean()メソッドは、バイト配列内の指定した位置にあるバイト値を変換し、Boolean(真偽値)として返すメソッドです。バイトデータとbool型の相互変換が必要な場面で活用される、System名前空間に属する便利なユーティリティメソッドの一つです。
構文
BitConverter.ToBoolean()メソッドの基本的な構文は以下の通りです。
public static bool ToBoolean (byte[] arr, int startIndex);
パラメータ
- arr:変換元となるバイト配列
- startIndex:変換対象のバイトが格納されている配列内のインデックス(位置)
このメソッドは、startIndexで指定された位置のバイト値が0以外であれば「true」、0であれば「false」を返します。
使用例
ここでは、BitConverter.ToBoolean()メソッドを使った具体的な実装例を見ていきましょう。
using System;
public class Demo {
public static void Main(){
byte[] arr = { 50, 100 };
Console.WriteLine("Array values...");
for (int i = 0; i < arr.Length; i++) {
Console.WriteLine("{0} ", arr[i]);
}
Console.WriteLine("\nConverted values...");
for (int index = 0; index < arr.Length; index++) {
bool res = BitConverter.ToBoolean(arr, index);
Console.WriteLine(""+res);
}
}
}
コードの解説
このサンプルコードでは、まず50と100という2つの要素を持つバイト配列を作成しています。次にforループを使って配列の各要素を表示した後、再度ループ処理を行いながら、各インデックスの位置を引数としてBitConverter.ToBoolean()メソッドを呼び出しています。
出力結果
上記のコードを実行すると、以下のような出力が得られます。
Array values... 50 100 Converted values... True True
結果のポイント
配列内のバイト値である50と100はどちらも0以外の値のため、変換結果は両方ともTrueになっています。もし配列内に0という値が含まれていた場合、その位置に対する変換結果はFalseとなります。
このようにBitConverter.ToBoolean()メソッドを使えば、バイト単位のバイナリデータを簡単にbool値へ変換できるため、ファイル入出力やネットワーク通信などで受信した生データを解析する際に非常に役立ちます。
-
C#のAll()メソッドとは?使い方とサンプルコードをわかりやすく解説
All()メソッドは、LINQに用意されている便利な拡張メソッドの一つで、コレクション内のすべての要素が指定した条件を満たしているかどうかをチェックし、結果をブール値(bool)として返します。判定ルールはシンプルです。すべての要素が条件を満たしていれば True を返しますが、1つでも条件を満たさない要素が存在する場合は False を返します。All()メソッドの基本的な使い方まず、次のような整数型の配列を用意してみましょう。int[] arr = {10, 15, 20};この配列に対してAll()メソッドを使い、「すべての要素が5より大きいかどうか」を確認してみます。arr.AsQue
-
C#のAll()メソッドとは?使い方とサンプルコードをわかりやすく解説
C#のAll()拡張メソッドは、System.Linq名前空間に属するLINQ標準クエリ演算子の一つです。このメソッドを使用すると、コレクション(配列やリストなど)内のすべての要素が指定した条件を満たしているかどうかを簡単に判定できます。All()メソッドは引数としてラムダ式で条件を受け取り、すべての要素がその条件を満たせばtrue、一つでも満たさない要素があればfalseを返します。戻り値の型はboolです。基本的な使い方まず、判定対象となる配列を用意します。int[] arr = { 6, 7, 15, 40, 55 };次の例では、配列内のすべての要素が「2以上」であるかどうかをチェック