2016-08-04 28 views
1

所以我在C#中玩“Vectors”,我创建了自己的Vector类。 我试图做的是通过一个简单的“+”来添加两个向量。 这是我的矢量类:C#相互添加类

class createVector 
{ 
    //My x,y,z coordinates 
    public int x { get; set; } 
    public int y { get; set; } 
    public int z { get; set; } 

    //constructor 
    public createVector(int X, int Y, int Z=0) 
    { 
     x = X; 
     y = Y; 
     z = Z; 
    } 

    // Convert to String 
    public override string ToString() 
    { 
     return string.Format("X:{0,-5}\nY:{1,-5}\nZ:{2,-5}", x, y, z); 
    } 
} 

而我试图做的是这样的:

 createVector Vector1 = new createVector(1, 2); 
     createVector Vector2 = new createVector(3, 4, 5); 

     createVector Vector 3 = Vector1 + Vector2; 

我不想使用的功能来添加矢量一起。

我可以这样做吗?

+0

我不知道C#,但'+'可能*是一个函数btw。 – Carcigenicate

+0

请提供两个示例向量以及一个示例结果向量的示例,以便我们知道您希望“+”如何运行。 –

回答

4

你需要重载+操作的类中:

public static Vector operator +(Vector v1, Vector v2) 
{ 
    // do logic here then return a vector 
    return new Vector(); 
} 

这是更好地遵循.NET命名约定,让你的类名为Vector而不是createVector。它应该是一个名词,并使用PascalCase

+0

真棒谢谢! – Limitless

+0

感谢您的帮助,我仍然在学习C#,很快就会做.Net,只是想了解基础知识 – Limitless