1
これらの値を辞書に追加する方法を教えてください。 switch文全体を削除し、代わりにDictionaryを使用して値を格納し、int値をメソッドに戻したいとします。どのようにそれを行うことができますか?辞書を使用してC#のメソッドに値を格納する方法
private int ControlDecode(byte b)
{
int itype = -1;
int ipacekttype = b & 0x0F;
switch (ipacekttype)
{
case 0x01:
if ((b & 0xF0) == 0x10 || (b & 0xF0) == 0x20 || (b & 0xF0) == 0x50 || (b & 0xF0) == 0x60)
itype = 0x11;
break;
case 0x02:
if ((b & 0xF0) == 0x20 || (b & 0xF0) == 0x60 || (b & 0xF0) == 0x10 || (b & 0xF0) == 0x50)
itype = 0x12;
break;
case 0x03:
if ((b & 0xF0) == 0x00 || (b & 0xF0) == 0x10 || (b & 0xF0) == 0x20 || (b & 0xF0) == 0x40 || (b & 0xF0) == 0x50 || (b & 0xF0) == 0x56)
itype = 0x13;
break;
case 0x04:
if ((b & 0xF0) == 0x30 || (b & 0xF0) == 0x70)
itype = 0x14;
break;
case 0x05:
if ((b & 0xF0) == 0x00 || (b & 0xF0) == 0x10 || (b & 0xF0) == 0x20 || (b & 0xF0) == 0x40 || (b & 0xF0) == 0x50 || (b & 0xF0) == 0x56)
itype = 0x15;
break;
case 0x06:
if ((b & 0xF0) == 0x30 || (b & 0xF0) == 0x70)
itype = 0x16;
break;
case 0x08:
itype = 0x38;
break;
case 0x09:
itype = 0x39;
break;
case 0x0A:
itype = 0x3A;
break;
case 0x0B:
itype = 0x3B;
break;
case 0x0C:
itype = 0x3C;
break;
default:
break;
}
return itype;
}
素晴らしい!ありがとうございました –
はい、あなたが指摘しているエラーがあります.. –