C#中什么类型实例化要用new,什么不用(例如 int类型)?

2024-12-03 16:55:31
推荐回答(4个)
回答1:

将类实例化后,才可用用 实例名.xxxx
点出该类里的非静态成员
对于静态成员,不用实例化就能用,用法是
类名.xxxx
比如有个类
class Human
{
int age;
string sex;
string name;
public Human//无参构造函数
{....}
public Human(....参数)//有参构造函数
{....}
public int GetAge(string name)
{....}
public static string GetSex(string name)
{....}
}
要使用Human类里的GetAge方法,要这样
Human myGF = new Human();
myGF.GetAge("章子怡");
而要使用类里的GetSex方法,应该这样
Human.GetSex("章子怡");因为这个方法是静态的,可以直接用类名点出来,不用实例化它后用它的一个实例去点。

回答2:

你是调用 ToCharArray这个函数,它里面自己new char【】数组了的。用反编译工具可以看到ToCharArray的详细定义。

值类型你也可以用new的,只不过浪费内存。

回答3:

s.ToCharArray();的返回值就是一个字符数组,即chs被声明后赋予了这个实例对象。所以不需要NEW一个新的实例。
至于string后面的new,那是STRING类的重构方法,你可以去查看string的基类,他的一个重构需要接受一个字符数组,然后拼接该数组返回一个sting对象赋给你的变量S

回答4:

这样说的通吧
char[] a=new char[s.Length];
char[] chs=a;