C# operator 关键字的用法

operator 只要是运算符都能重载

operator 关键字的主要作用是用来重载运算符的,还可以用于类或结构中类型的自定义转换。

下面看个例子

复制代码
class Feige
{
    //定义两个全局变量
    int a, b;

    //声明带两个参数的构造函数
    public Feige(int a, int b)
    {
        this.a = a;
        this.b = b;
    }

    //重载加法运算符+
    public static Feige operator +(Feige f, Feige g)
    {
        return new Feige(f.a + g.a, f.b + g.b);
    }

    //重载乘法运算符*
    public static Feige operator *(Feige f, Feige g)
    {
        return new Feige(f.a * g.a, f.b * g.b);
    }

    //自定义转换类型
    public static implicit operator int(Feige f)
    {
        return (int)(f.a * f.b);
    }
}
复制代码
复制代码
//执行构造函数
Feige fei = new Feige(2, 5);
//执行构造函数
Feige ge = new Feige(3, 6);

int d = (int)(fei + ge);//调用运算符+函数
int e = (int)(fei * ge);//调用运算符*函数

//两对象加法操作结果是:55            
richTextBox1.Text += "两对象加法操作结果是:" + d + "\n";
//两对象乘法操作结果是:180
richTextBox1.Text += "两对象乘法操作结果是:" + e + "\n";
复制代码

 

posted @   Homegu  阅读(831)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
你的浏览器不支持canvasr
点击右上角即可分享
微信分享提示