2

私は基本的なC#プログラミングのみを行っており、現在次の問題に悩まされています。

「ディレクティブまたはアセンブリ参照がありません。

テストクラス:

public void method1()
{
      //forwhile loop

      int num = 0;

      while(1<11)
      {
      Console.Write ("The num is ");

      Console.WriteLine (num);

      num++;
      }
}

メインクラス:

static void main(string[] args)
{
      method1 mtd = new method1();
      mtd.method1();
}
4

5 に答える 5

2
  • new演算子はメソッド名には使用されません。オブジェクトを作成するためにクラス名とともに使用されます。

    method1 mtd = new method1(); // WRONG
    

代わりに、method1それが含まれているクラスを使用する必要があります。

  • while 条件が正しくありません (タイプですか)

    while(1<11) // WRONG
    

そのはずwhile(num < 11)

すべてのメソッドは、クラス内に含める必要があります。メソッドとクラスを混同していると思います。

例えば:

class MainClass
{
    public static void Main(string[] args)
    {
        // implementation
    }
}

MainClassはクラスでMainあり、その中のメソッドです。できますnew MainClass()が、決してできませんnew Main()

于 2012-10-25T11:41:37.343 に答える
1

メソッドのオブジェクトを作成することはできません。

このようにしてください:-
テストクラス:

public class Test
{ 
    public void method1()
    {
       //forwhile loop

       int num = 0;

      while(1<11)
      {
      Console.Write ("The num is ");

      Console.WriteLine (num);

      num++;
      }
   }
}

メインクラス:

static void main(string[] args)
{
      Test obj = new Test();
      obj.method1();
}
于 2012-10-25T11:37:35.957 に答える
0

あなたがする必要があります:

ClassName cls = new ClassName();
cls.Method1();
于 2012-10-25T11:36:15.183 に答える
0

メソッドで「new」キーワードを使用することはできません。「new」キーワードは、クラスのインスタンスを作成するために使用されます。

メソッドをクラス(Test)内に配置し、「メイン」でそのクラスのインスタンス(t)を作成し、そのインスタンス(t)を使用してそのメソッドを呼び出すことができます:

public class Test

 {

   public void method1()

   {

      int num = 0;

      while(1<11)
      {
        Console.Write ("The num is ");

        Console.WriteLine (num);

        num++;
      }
    }
 }      

static void main(string[] args)
{
   Test t = new Test();
   t.method1();
}
于 2012-10-25T12:04:38.533 に答える
-1

while で間違った条件を使用しています

while(1<11) //this is wrong
while(num<11) //this is right ..

これで試してください

于 2012-10-25T11:44:42.043 に答える