解决方案 »

  1.   

    可读性选1,效率选2。就可读性而言1更具条理,适合新手看;2其实也不差,只是新手不适应而已。至于效率选2的原因是2不需要开辟中间变量 map ,或者即使开辟也是交由系统去完成,在建立和释放过程效率更高;而1的中间变量 map 在内存中的存在时间会比2更长。
      

  2.   

    再问一下,如果一个对象没有声明一个引用变量来引用它,是不是就无法在程序中使用?
    举个例子:我用map.get_Layer(int index)方法返回了一个ILayer对象,如果我不定义一个ILayer  layer变量来引用这个返回会有什么后果?
      

  3.   

    如果你写 axMapControl1.Map.get_Layer(0); 而不给一个变量赋值,没有任何后果。这说明你随后的代码根本不需要引用这个变量。c#是强类型的语言,它在编译时会仔细核对你的“本意”,而不是运行时才给你崩溃。因此如果你不声明一个 layer 变量,而编译也仍然可以通过,那么就说明是安全的,没有必要再考虑是否必须有一个 layer 变量的问题。
      

  4.   

    如果需多次使用,一般选择第一种写法。
    若后续不需要IMap map ,可采用第二种。