2015-11-20 58 views
-1

为什么这段代码抛出异常?Int数组抛出c异常#

int n = 10; 
int[] arr = null; 
for (int i = 0; i < n; i++) 
{ 
     arr[i] = i * 2; 
} 

任何人都可以帮忙吗?

+1

你声明一个数组是'null',然后你试图修改它的元素。 –

+0

你的数组是null,你不能循环任何东西。 – Dhunt

回答

2

你必须init您的阵列的第一int[] arr = new int[n];

  int n = 10; 
      int[] arr = new int[n]; 
      for (int i = 0; i < n; i++) 
      { 
       arr[i] = i * 2; 
      } 
+0

谢谢工作...... –

0

你必须初始化数组。这也必须是一个固定大小的,你不能展开借给一个数组的像您可以用List

你可以这样做:

int n = 10; 
int[] arr = new int[n]; 
for (int i = 0; i < n; i++) 
{ 
    arr[i] = i * 2; 
} 

这将初始化长度为10的数组,然后填充数字。 或者一个列表:

int n = 10; 
List<int> arr = new List<int>(); 
for (int i = 0; i < n; i++) 
{ 
    arr.Add(i * 2); 
} 

通知我们喜欢,我们为数组做不定义列表的长度。然后,我们继续添加元素,而不是最多n个元素。

0

你必须用已定义的值而不是null来声明一个新的数组。像下面的代码一样。 :)。

int n = 10; 
int[] arr = new int[n]; 
for (int i = 0; i < n; i++) 
{ 
     arr[i] = i * 2; 
}