如何在Main方法(控制台)中启动对象?

时间:2019-07-16 09:26:59

标签: c# arrays object

我创建了一个新类ArraysHandling。在此类中,我有一个带有数组的方法。我想在main方法中调用此方法。但是出了点问题!如何在主方法中正确调用此方法?

我在main方法中创建了一个名称为learningArrays的新对象。之后,我打电话给Console.WriteLine(numb)

  namespace HelloWorld 

   { public class ArraysHandling  //Creating a new Class
      { 
         public void arrays()
         {
           int[] numb = new int[3] { 8, 9, 10 };
         }                    
       }
     }


 //Main Method
 static void Main(string[] args)

    {
       ArraysHandling learningArrays = new ArraysHandling();           
       Console.WriteLine(numb);
    }

我希望在控制台中弹出数字:8、9、10。

这会产生2个错误:

  1. 您是否缺少使用或程序集引用?

  2. 名称(numb)在当前上下文中不存在。

2 个答案:

答案 0 :(得分:1)

变量numb是ArraysHandling类中方法数组的局部变量。 Main对此一无所知。将其设置为ArraysHandling的字段,然后在Main中使用它:

namespace HelloWorld 
{ 
    public class ArraysHandling  //Creating a new Class
    { 
       public int[] numb;

       public void arrays()
       {
         this.numb = new int[3] { 8, 9, 10 };
       }                    
     }
   }    

   //Main Method
   static void Main(string[] args)
   {
       ArraysHandling learningArrays = new ArraysHandling();   
       learningArrays.arrays();        
       Console.WriteLine(string.Join(",", learningArrays.numb));
   }
}

答案 1 :(得分:0)

您快到了,但是numb被声明为局部变量,您可以看到它,因为它是在方法范围{}中定义的。

有几种方法可以修复它,我将为您提供一个示例,其中该方法返回numb变量。

public int[] arrays() //note: the method is now of type `int[]`
{
   int[] numb = new int[3] { 8, 9, 10 };
   return numb;
}  

在您的Main方法中,您可以这样调用它:

//see, you call the method name here
Console.WriteLine(string.Join(",", learningArrays.arrays()));