类型或命名空间,或期望的文件结尾

时间:2013-11-28 22:01:02

标签: c# console-application

在查找了这个错误之后,我似乎无法弄清楚问题是什么,它可能很小,但它确实让我烦恼。

它出现了2个错误。

}预期第11行第10列

类型或命名空间,或文件结束预期第21行第1列

这是代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Beetlegeuse_intrusion
{
    class Program
    {
        static void Main(string[] args)
        { 
            public void init()
            {
                weapon testWeapon = new weapon(30, 50);
                weapon[] weaponArray1 = new weapon[3];
                for(int i=0; i<2; i++)
                weaponArray1[i] = testWeapon;
            }
        }
    }    
}

3 个答案:

答案 0 :(得分:2)

您已在方法中放置了一个方法。你不能这样做。

init移除Main并将其置于自己的位置:

static void Main(string[] args)
{ 
    init();  
}

public static void init()
{
    weapon testWeapon = new weapon(30, 50);
    weapon[] weaponArray1 = new weapon[3];
    for(int i=0; i<2; i++)
        weaponArray1[i] = testWeapon;
}

另外,我无法看到你宣布武器类的位置。您必须确保将该类放在此文件中,或者使用using语句导入声明它的命名空间。

答案 1 :(得分:0)

您不能在方法中使用方法。您需要单独声明它们。以下是您可能要做的事情:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Beetlegeuse_intrusion
{
    class Program
    {
        static void Main(string[] args)
        {
            init();
        }
        public void init()
        {
            weapon testWeapon = new weapon(30, 50);
            weapon[] weaponArray1 = new weapon[3];
            for(int i=0; i<2; i++)
            weaponArray1[i] = testWeapon;
        }

    }    
}

答案 2 :(得分:0)

你不能在另一个方法中声明一个方法。

在班级宣布Init()

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Beetlegeuse_intrusion
{
    class Program
    {
        static void Main(string[] args)
        { 
            Init();
        }

        static void Init()
        {
            weapon testWeapon = new weapon(30, 50);
            weapon[] weaponArray1 = new weapon[3];
            for(int i=0; i<2; i++)
            weaponArray1[i] = testWeapon;
        }
    }    
}