2

0b00010010そのため、バイナリ定数を記述するなど、GCC に精通しています。.NET でそれを行うにはどうすればよいですか? 私はこれらの言語でコードをデバッグ/変更しているため、主に VB C# と C++ に関心があります。

これを行う直接的な方法がない場合、後で読み取って変更することが不可能ではない短いルートはありますか?


質問の理由を説明するために追加されたコード:

<FlagsAttribute( )> _
Enum ControlTypeEnum as Short
                    ‘   5 4 S 3 2 1 M L
    None = 0        ‘0x 0 0 0 0 0 0 0 0
    Lathe = 1       
    Mill = 2        
    P100 = 4        '*
    P200 = 8        '*
    P300 = 16       
    P300L = 17      '*
    P300SLP = 49    '*
    P300M = 18      '*
    P300SMP = 50    '*
    P400L = 65      '*
    P400SLP = 97    '*
    P400M = 66      '*
    P400SMP = 98    '*
End Enum

'Values with asterisk are valid return values from function
4

2 に答える 2

2

C# でできる最も近いのは、それを文字列として定義し、Convert.ToInt (またはその他) を使用することです。

 var flags = Convert.ToInt32( "00010010", 2 );

これは機能的ですが、冗長でかなりブレています。あなたは(あなたが狂っているなら)拡張メソッドを検討するかもしれません

public static class Extensions
{
    public static Int32 toInt(this string me)
    {
        return Convert.ToInt32(me, 2);
    }
}
(...)
var myflags = "00010010".toInt();
(...)
于 2013-09-12T19:07:17.667 に答える