1.没有区别int var1;是int var1 = new int(); 的简写。
2.string b; b = "Hello";与string b = new string(b.ToCharArray());区别在于一个是直接对字符串赋值,另一个是从字节生成字符串。

解决方案 »

  1.   

    1.声明的是变量
    2.声明的是对象。
    不过好象 。net 里都 是对象。
      

  2.   

    TO: CMIC(大象)
      也就是说基本数据类型可以使用简写的方式。除基本类型以外的类则需要使用new操作符对么?
      

  3.   

    呵呵,对于任何类型,如果不进行赋值(=)或者new操作的话这个对象都是不可用的
    =和new 都是对对象进行一个初始化,只不过用=的时候你明确知道对象需要赋给一个什么值,
    当你不知道的时候,就可以用new来构造一个这个对象的默认值实例。
    例如
    int a;//现在如果使用a是非法的
    a=4;//现在用a就合法了
    int b = new int();//现在使用b是合法的,b的值是0
      

  4.   

    其实所有的类型都是一样的,或者通过=号赋值来初始化,或者通过new
    如果没有初始化就是不能使用的。基本类型如果只写int a;也是不能用的:)
    这一点上基本类型和自定义类型没有区别的。自定义类型也可以通过=号来初始化的
      

  5.   

    对于值类型可以直接赋值,此时是在stack上,如果是引用类型的话直接赋值只是把这个对象的引用指向被赋值对象所在Heap上,而不为此对象分配内存地址。如果用new则是在Heap上为这个对象分配一个内存地址。
      

  6.   

    new实例化变量。分配内存空间,如果是值类型在stack上分配,
    如果是引用类型,就在heap上,准确的说是在managed heap上。
      

  7.   

    CMIC(大象) 是对的。
    值类型不需要new,在声明的时候内存就已经分配好了。