为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕姐8265434 2018-12-06 22:52:49
代码一: 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 在代码二这个函数中被用到: 这上面的二段代码是什么意思?看不懂,请大家指点。谢谢!
查看完整描述

1 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

代码一、你有有没有感觉用十六进制码对于位的表示来说很直接举个例子 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; }
查看完整回答
反对 回复 2018-12-09
  • 1 回答
  • 0 关注
  • 489 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信