我正在尝试从函数的数组中写入整数,它始终显示“名称'((数组名)''在当前上下文中不存在”)
int counter = int.Parse(Console.ReadLine());
int[] nums = new int[counter];
while (counter > 0)
{
nums[counter] = counter;
counter--;
}
(基本上创建了一个数组,该数组具有用户选择的长度,并将数字从1放入数组中的计数器) 一些更改数组整数内容的代码之后 (计数器不变)
print(counter);
我创建的函数
public static void print(int count);
{
*some code*
while (count > 0)
{
Console.WriteLine(nums[count]); //line with the error
count--;
}
}
我期望它在nums数组中写入整数,但事实并非如此。 (顺便说一句,我需要在函数内部编写它,稍后在代码中调用它)
答案 0 :(得分:4)
好吧,这意味着您的数组不在函数的上下文中,因此它无法“看到”它。您必须在函数中声明它,通过类中的某个字段进行访问,或者将其作为参数传递
public static void print(int[] nums, int count)
{...}
答案 1 :(得分:0)
“名称'(数组名称)'在当前上下文中不存在”
由于错误提示您的函数无法在函数上下文中找到数组(因为它在函数本身之外)。
要找到它,您有两个选择:
print(counter, nums)
public static void print(int count, int[] nums)
{...}
或将所有内容包装在一个类中:
class Program
{
static int[] nums;
static void Main(string[] args)
{
int counter = int.Parse(Console.ReadLine());
int[] nums = new int[counter];
while (counter > 0)
{
nums[counter] = counter;
counter--;
}
print(counter);
}
public static void print(int count)
{
// some code
while (count > 0)
{
Console.WriteLine(nums[count]); //line with the error
count--;
}
}
}