c# 定义变量 不用new 直接用 是怎么回事
发布网友
发布时间:1小时前
我来回答
共4个回答
热心网友
时间:2024-10-01 04:34
public class Program
{
public int[] Times { get; set; }
public static void Main(string[] args)
{
Program p = new Program();
p.Times = new int[] { 1, 2, 3 };//PASS
p.Times[1] = 3;//没有上面这句会Fail
int[] a=new int[]{7,8,3,2,13,32};
p.Times = a;//PASS
/* 对于public int[] Times { get; set; }语句,
* 首先它只是定义Times属性是一个int[]类型,你可以直接将一个int[]
* 类型的值或变量赋值给它,它是接受的,当然你可以赋值不同长度的
* int[]给它,它只是对数组整体进行读写,而要取Times中的元素,则
* 是使用的Array的索引器,这里的属性在Times[x]=y;操作中中是整体
* 返回一个int[]数组,而后你怎么操作得看数组有哪些方法
*/
Array.ForEach<int>(p.Times,t=>Console.WriteLine(t));
}
}
热心网友
时间:2024-10-01 04:35
具有get set访问器是称之为该类的属性,属性是可以直接类名.属性名的
热心网友
时间:2024-10-01 04:35
你写了 {get;set}那就是这个类的属性了,属性是不可以用new实例化的,应该直接 {类名}.{属性名} 直接使用
热心网友
时间:2024-10-01 04:36
public int[] Times { get; set; } set:就代表给这个变量赋值的权限,而且在get;set;以后,直接拿也是可以的;比如:int[] num=Times; 不过此时的Times在未赋值之前默认为:null