如何将数组传递给C#方法?

时间:2016-01-29 20:20:47

标签: c# arrays

我的主程序包含一个名为setOfBalls[i]的数组,用于存储省略号。省略号有三个属性:

setOfBalls[i].velocity;
setOfBalls[i].direction;
setOfBalls[i].mass;

然后我有一个碰撞类,需要能够在名为Collisions.cs的碰撞类中访问具有方向,速度和质量的数组。 我需要能够从我的三个球中检测到两个身体的碰撞,但我不知道如何从主程序到我的碰撞类的数组?

 public Boolean twoBodyCollision()
 {
 }

3 个答案:

答案 0 :(得分:1)

考虑向方法添加参数并将数组作为参数发送; e.g。

public boolean HasCollidingObjects(Ball[] listOfBalls) { // ... }

我假设您使用的是Ball课程,但这只是一个例子。请改用你的班级。

此外,您应该使用C#命名约定而不是Java。您可以查看MSDN页面以获取有关这些内容的信息。

答案 1 :(得分:0)

要将对象传递给类,可以使用构造函数:

private string[] setofBalls;
public ClassName(string[] setBalls) 
{
    setofBalls = setBalls;
}

public void DoSomething() 
{
    foreach (string ball in setofBalls) { ...... }
}

更多关于使用C#的面向对象编程:https://msdn.microsoft.com/en-us/library/dd460654.aspx

答案 2 :(得分:0)

您可以创建您拥有方法的类的实例,然后从“主程序”

调用
 public void MethodInMainProgram()
    {
        Collision collision = new Collision();
        collision.TwoBodyCollision(setOfBalls);
    }

public class Collision
{      

    public void TwoBodyCollision(Ellipse[] ellipses)
    {
        //logic that detects collisions
    }
}

有关创建实例的更多信息here