C# 相互添加类

标签 c# vector

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

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;

我不想使用函数将向量相加。

我可以做这样的事情吗?

最佳答案

你需要在类中重载+运算符:

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

最好遵循 .NET 命名约定,将您的类命名为 Vector 而不是 createVector。它应该是一个名词并使用 PascalCase

关于C# 相互添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38775421/

相关文章:

c# - 如何使用 VIM 进行 .Net 开发

c++ - 为什么c++中数组的内容有时没有初始化?

c++ - 指向 vector

c++ - 在二进制文件中保存和加载游戏状态。 C++

c++ - 具有通用 vector 和对类型的对 vector ,模板模板

c# - 为什么在 C# 编译器中引入 const 关键字?

c# - HashSet 的内存限制是多少?

c# - Sql 批量复制是如何工作的?

c# - 为什么在终结器中序列化对象不是一个好主意?

C++ 数组到 vector 问题