C#操作顺序语法说明

时间:2014-10-05 14:52:03

标签: c# .net syntax

在组件库的代码审查中,我找到了语法,其中需要每月几天的计算。

简化语法类似于:

int preDays = (new int[] { 0, 1, 2, 3, 4, 5, 6 })[3] - 2;

[3]-2是变量。在上面的示例中,preDays的结果为1。

有人可以解释我们是如何得出这个结果的吗?

5 个答案:

答案 0 :(得分:1)

你正在创建一个数组,在同一行进行算术计算并给出 c#has a zero as base中的索引,所以如果算上0,1,2,3,你会在数组的4个案例中得到一个值3 3 minus 2,你会得到1

所以就这样吧

var myArray = new int[] { 0, 1, 2, 3, 4, 5, 6 };
int myValue = array[3]; //3
int preDays = value - 2;   

答案 1 :(得分:1)

这有用吗:

var array = new int[] { 0, 1, 2, 3, 4, 5, 6 };
int value = array[3]; //3
int preDays = value - 2; //1

答案 2 :(得分:1)

将代码细分为各自的部分。就像在数学中一样,我们首先在括号内执行操作,因此您要创建一个值为0到6的整数数组。接下来,代码查看索引3(C#中的数组是基于0的)。索引3处的值为3.最后,我们从3中减去2得到1并将其分配给preDays。

你可以这样想:

int[] myArray = { 0, 1, 2, 3, 4, 5, 6};
int myValue = myArray[3]; // Value is 3
int preDays = myValue - 2; // Value is 1

答案 3 :(得分:1)

在我看来,这个很容易:

在()中定义了一个新的匿名数组。一个由七个元素组成的数组,分别为0,1,2,3,4,5和6.从这个数组中取出第4个元素。 ([3]指的是第四个元素,因为计数从[0]开始,指的是第一个元素。)

数组的第四个元素是3,因此表达式(new int[] { 0, 1, 2, 3, 4, 5, 6 })[3]解析为3.从3减去2使得preDays用1填充。

答案 4 :(得分:1)

int preDays = (new int[] { 0, 1, 2, 3, 4, 5, 6 })[3] - 2;

(new int[] { 0, 1, 2, 3, 4, 5, 6 })将创建大小为7且值为(0,1,2,3,4,5,6)的临时整数数组。

(new int[] { 0, 1, 2, 3, 4, 5, 6 })[3]将提取第4项(索引为3的项目),即值3。

(new int[] { 0, 1, 2, 3, 4, 5, 6 })[3] - 2将执行3 - 2 = 1。