シリアルポートを開くたびに次の文字列を受け取ります。この文字列は、接続されているデバイスが実行している 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;
}