请问各位大牛,以下代码是什么意思啊(C#语法)?

代码一: private static byte[] wmLinkVal = new byte[] { 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x66, 0x69, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x63, 0x65, 110, 0x73, 0x65, 0x2e, 0x70, 0x68, 0x70 }; private static byte[] wmRegVal = new byte[] { 0x56, 0x69, 0x73, 0x69, 0x66, 0x69, 0x72, 0x65, 0x20, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x20, 0x45, 100, 0x69, 0x74, 0x69, 0x6f, 110 };   代码二: protected virtual void LoadWm(GaugeTypes type) { if (CS$<>9__CachedAnonymousMethodDelegatef == null) { CS$<>9__CachedAnonymousMethodDelegatef = new Func(null, (IntPtr) b__d); } if (CS$<>9__CachedAnonymousMethodDelegate10 == null) { CS$<>9__CachedAnonymousMethodDelegate10 = new Func(null, (IntPtr) b__e); } this.CreateWmElement(type, new string(Enumerable.Select(wmRegVal, CS$<>9__CachedAnonymousMethodDelegatef).ToArray()), new string(Enumerable.Select(wmLinkVal, CS$<>9__CachedAnonymousMethodDelegate10).ToArray())); }   不明白啊,我知道是16进制的数组,但为什么这样写呢,直接用 Int 数组不就行了吗? 代码一中定义的数组wmLinkVal 在代码二这个函数中被用到: 这上面的二段代码是什么意思?看不懂,请大家指点。谢谢!
慕姐8265434
浏览 490回答 1
1回答

呼唤远方

代码一、你有有没有感觉用十六进制码对于位的表示来说很直接举个例子 0x68=》(0110 1000) 如果用十进制表示你还要自己去换算对整数做位运算 0x68|0x23比103|35对于开发人员来说要友好的多。代码二、这是.NET Reflector反编译的代码。你只要把CS$9__CachedAnonymousMethodDelegatef 看作一个委托就好了举个例子C#代码 protected virtual void LoadWm() { Delegate d = new Func((a,b) => a + b); } 反编译的代码 protected virtual void LoadWm() { if (CS$9__CachedAnonymousMethodDelegate1 == null) { CS$9__CachedAnonymousMethodDelegate1 = new Func(null, (IntPtr) b__0); } Delegate delegate2 = CS$9__CachedAnonymousMethodDelegate1; }
打开App,查看更多内容
随时随地看视频慕课网APP