-1

番号は「000001B6」(16 進数)です。16進数の「000001B6」を整数またはバイトに変換し、バイトの配列で結果番号を検索して、この番号が配列に存在するかどうかを確認します。

次のように、C#でそれを行うにはどうすればよいですか:

byte[] temp = new byte[20];

number = 000001B6 // convert number to integer or byte then search result number in array 
4

2 に答える 2

0

これを試して、16進数を整数に変換してください

string hexNumber = "000001B6";
int integerValue = int.Parse(hexNumber, System.Globalization.NumberStyles.HexNumber);

の最大値である 255 しか検索できないため、byte[]16 進数がそれを超えないように注意する必要があります。

しかし、あなたは文字列を例にしています。00001B6と同等438です。そのため、レンジの世話をする必要があります。

それ以外の場合は、単純に.Any関数を使用して配列内の存在を確認できます。

bool isExists = temp.Any(x => x == integerValue);
于 2013-10-21T20:44:25.133 に答える
0
byte[] temp = new byte[20];
var i = int.Parse("000001B6", System.Globalization.NumberStyles.HexNumber); //438
if(i <= byte.MaxValue) //will never be true for 000001B6 since 438 > 255
    var hasValue = temp.Contains((byte)i);
于 2013-10-21T20:45:19.097 に答える