C#用new和不用new有什么区别
publicclassPerson{publicstringName{get;set;}publicintAge{get;set;}}voidTest1(){Person...
public class Person
{
public string Name{get; set;}
public int Age {get; set;}
}
void Test1()
{
Person p = new Person();
}
void Test2()
{
Person p ;
}
Test1和Test2的写法,一个用new,一个不用new有什么区别 展开
{
public string Name{get; set;}
public int Age {get; set;}
}
void Test1()
{
Person p = new Person();
}
void Test2()
{
Person p ;
}
Test1和Test2的写法,一个用new,一个不用new有什么区别 展开
展开全部
这应该不是区别的问题吧
Test2 只是声明了一个变量,但这个变量是空的,根本无法使用!
如果你需要使用Test2,如:p.Age = 200;这样会报错!
也就是说你之后还得写上:p = new Person(); 对变量初始化,不然无法使用!
void Test1()
{
Person p = new Person();
p.Age = 100;
}
void Test2()
{
Person p;
p = new Person();
p.Age = 200;
}
追问
Person p2=new Person();
p2.Age=20;
p2.name="小李";
p=p2;
这样直接赋值一个对象给p是可以的;
这样个赋值是值将p的指针指向p2吗?
当p2的内容改变时,p也会改变,是不是这样的呢
追答
是的,这样只是赋值指针,他们的数据都指向一个地址,其中一个改变了,另一个也会变!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询