c# 定义变量 不用new 直接用 是怎么回事
一个类中定义了变量publicint[]Times{get;set;}这个类中的一个方法直接对Times赋值为什么不用先new出数组的长度就可以直接赋值呢木有分数了见谅...
一个类中定义了变量 public int[] Times { get; set; }
这个类中的一个方法 直接对Times赋值 为什么不用 先new出数组的长度就可以直接赋值呢
木有分数了 见谅 展开
这个类中的一个方法 直接对Times赋值 为什么不用 先new出数组的长度就可以直接赋值呢
木有分数了 见谅 展开
展开全部
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));
}
}
展开全部
具有get set访问器是称之为该类的属性,属性是可以直接类名.属性名的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你写了 {get;set}那就是这个类的属性了,属性是不可以用new实例化的,应该直接 {类名}.{属性名} 直接使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public int[] Times { get; set; } set:就代表给这个变量赋值的权限,而且在get;set;以后,直接拿也是可以的;比如:int[] num=Times; 不过此时的Times在未赋值之前默认为:null
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询