シリアルポートを開くたびに次の文字列を受け取ります。この文字列は、接続されているデバイスが実行している BIOS バージョンとファームウェア バージョンを確認するためのものです。
弦:
v03400216000000001FC5H240108206B-RAMBOX=[03]
現在、BIOS のバージョンとファームウェアのバージョンを確認するための重要な文字は次のとおりです。
03400216
注:bytearray
は にbyte[]
変換され、string
以下で埋められます。
v03400216000000001FC5H240108206B-RAMBOX=[03]
次のコードを使用してこれを達成しようとしました:
string versiontext = bytearray.Trim();
bytearray = versiontext.Remove(0, 2);
versiontext = bytearray.Remove(9, bytearray.Length);
bytearray = versiontext;
しかし、それはうまくいかず、次の例外が発生しました。
Index and count must refer to a location within the string.
Regex
の代わりにを使用する必要があり.Remove
ますか?
編集:
@lazyberezovsky は私を助けてくれました.Substring()
.
string result
次のコードで達成しました:
if (bytearray.Contains("RAMBOX"))
{
string Versionstring = bytearray.Substring(1, 8);
bytearray = Versionstring;
}