调用方法时CS0103错误消息

时间:2016-12-30 19:28:05

标签: c#

我在visual studio社区15中收到此错误,试图编译下面的代码。我创建了一个名为" PrintFirstElement"我试图将变量myArray作为方法的参数传递给我。我收到一个错误,即在此上下文中不存在名称PrintFirstElement。对我没有任何意义。任何帮助将不胜感激。

namespace ConsoleApplication6
{ 
    class Arrays
    {
        public void PrintFirstElement(int[] a)
        {
            Console.WriteLine("The first element is {0}. /n", a[0]);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            int[] myArray = { 1, 2, 3, 4, 5 };
            PrintFirstElement(myArray);
        }
    }
}

2 个答案:

答案 0 :(得分:2)

您正试图从另一个班级PrintFirstElement调用Arrays班级中存在的Program方法;要执行此操作,您需要实例化Arrays类并使用实例名称限定方法调用,或者将PrintFirstElement方法更改为static并使用类本身的名称。

所以,要么这样做:

int[] myArray = { 1, 2, 3, 4, 5 };
var a = new Arrays(); // create an instance of the `Arrays` class
a.PrintFirstElement(myArray);

或者将您的方法更改为public static void PrintFirstElement(int[] a)并将Main中的来电更改为Arrays.PrintFirstElement(myArray);

答案 1 :(得分:0)

Rory.ap完全正确。我只想在他的回答中添加一些信息。当您将方法更改为静态时,此方法将被内存所知。因此,您不必为方法创建对象。