Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用方法生成实例化的类数组_C#_Arrays_Methods_Initialization - Fatal编程技术网

C# 使用方法生成实例化的类数组

C# 使用方法生成实例化的类数组,c#,arrays,methods,initialization,C#,Arrays,Methods,Initialization,我有一个类“Bullet”,我使用方法CreateBullet()实例化它,因为将有多个Bullet,我决定将Bullet设置为一个数组,尽管这不起作用,我花了一个小时试图修复它 我在初始化方法中调用的内容: Bullet bullet[] = Bullet.CreateBullet[1](); 子弹级别: class Bullet { public float2 position; public float angle { get; set; } public flo

我有一个类“Bullet”,我使用方法CreateBullet()实例化它,因为将有多个Bullet,我决定将Bullet设置为一个数组,尽管这不起作用,我花了一个小时试图修复它

我在初始化方法中调用的内容:

Bullet bullet[] = Bullet.CreateBullet[1]();
子弹级别:

class Bullet
{
    public float2 position;
    public float angle { get; set; }
    public float speed { get; set; }
    public static Bullet CreateBullet()
    {
        Bullet bullet = new Bullet()
        {
            position = new float2()
        };
        return bullet;
    }
    public void Move()
    { 
    }
}

你能告诉我密码有什么问题吗?提前谢谢你。

你可以做这样的事情,不完全是你想要达到的,但它可能会给你更多的启发

用法


这样,您可以创建一个包含5个项目符号的数组:

        Bullet[] bullets = new Bullet[5];
然后需要为每个数组条目创建一个项目符号来填充数组:

        for (int i = 0; i < bullets.Length; i++)
        {
            bullets[i] = Bullet.CreateBullet(); 
        }

在学习如何填充最简单的数组之前制作游戏?这是错误的:
Bullet-Bullet[]=Bullet.CreateBullet[1](),除此之外。。。开始阅读您可能想查看泛型的文档:
List
将更易于使用。抱歉,我知道这看起来很愚蠢,但我以前对数组几乎没有经验。谢谢,我将尝试使用列表:)无论如何,这里不必需要数组,正如@Polotoix所提到的,子弹类型的通用列表将做得更好。在这里查看它们>表示集合的类应该这样命名(“嘿,给我那个子弹”听起来很愚蠢),比如“BulletCollection”或“BulletList”。也就是说,除非你给它明确的与子弹相关的功能,否则我会坚持使用
列表
。公平的评论,我个人喜欢子弹:)谢谢伟大而强大的萨鲁曼,你的魔法和代码比我强@克罗西很高兴我能help@Croccy记住,如果问题符合你的目的,请相应地进行投票和标记:)
        Bullet[] bullets = new Bullet[5];
        for (int i = 0; i < bullets.Length; i++)
        {
            bullets[i] = Bullet.CreateBullet(); 
        }
    public Bullet[] CreateBullets(int amount)
    {
        Bullet[] bullets = new Bullet[amount];
        for (int i = 0; i < bullets.Length; i++)
        {
            bullets[i] = Bullet.CreateBullet(); 
        }

        return bullets;
    }
    public void Test()
    {
        Bullet[] bullets = CreateBullets(5);
    }