首页 新闻 搜索 专区 学院

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

0
悬赏园豆:30 [已解决问题] 解决于 2013-03-01 10:16

代码一:

 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<byte, char>(null, (IntPtr) <LoadWm>b__d);
        }
        if (CS$<>9__CachedAnonymousMethodDelegate10 == null)
        {
            CS$<>9__CachedAnonymousMethodDelegate10 = new Func<byte, char>(null, (IntPtr) <LoadWm>b__e);
        }
        this.CreateWmElement(type, new string(Enumerable.Select<byte, char>(wmRegVal, CS$<>9__CachedAnonymousMethodDelegatef).ToArray<char>()), new string(Enumerable.Select<byte, char>(wmLinkVal, CS$<>9__CachedAnonymousMethodDelegate10).ToArray<char>()));
    }

 

不明白啊,我知道是16进制的数组,但为什么这样写呢,直接用 Int 数组不就行了吗?

代码一中定义的数组wmLinkVal代码二这个函数中被用到:


这上面的二段代码是什么意思?看不懂,请大家指点。谢谢!

Set sail的主页 Set sail | 小虾三级 | 园豆:540
提问于:2013-02-28 17:59
< >
分享
最佳答案
0

代码一、你有有没有感觉用十六进制码对于位的表示来说很直接举个例子

0x68=》(0110 1000) 如果用十进制表示你还要自己去换算
对整数做位运算 0x68|0x23比103|35对于开发人员来说要友好的多。
代码二、这是.NET Reflector反编译的代码。你只要把
CS$<>9__CachedAnonymousMethodDelegatef 看作一个委托就好了
举个例子C#代码
 protected virtual void LoadWm()
        {
            Delegate d = new Func<int, int, int>((a,b) => a + b);
        }

反编译的代码

protected virtual void LoadWm()
{
    if (CS$<>9__CachedAnonymousMethodDelegate1 == null)
    {
        CS$<>9__CachedAnonymousMethodDelegate1 = new Func<int, int, int>(null, (IntPtr) <LoadWm>b__0);
    }
    Delegate delegate2 = CS$<>9__CachedAnonymousMethodDelegate1;
}
收获园豆:30
朝曦 | 小虾三级 |园豆:1073 | 2013-02-28 23:52

哈哈,高手自在园中。明白了,谢谢!!!

Set sail | 园豆:540 (小虾三级) | 2013-03-01 10:15

代码二:中的CS$<>9__CachedAnonymousMethodDelegate1在C#中编译会报错,如果我需要编译通过,有什么办法吗?

qingtian_Mo | 园豆:178 (初学一级) | 2015-08-03 15:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册