跳转到内容

C# 编程/关键字/运算符

来自维基教科书,开放书籍,开放世界

operator 关键字允许类重载算术运算符和强制转换运算符

public class Complex
{
    private double re, im;
    
    public double Real
    {
        get { return re; }
        set { re = value; }
    }
    
    public double Imaginary
    {
        get { return im; }
        set { im = value; }
    }
    
    // binary operator overloading
    public static Complex operator +(Complex c1, Complex c2)
    {
        return new Complex() { Real = c1.Real + c2.Real, Imaginary = c1.Imaginary + c2.Imaginary };
    }
    
    // unary operator overloading
    public static Complex operator -(Complex c)
    {
        return new Complex() { Real = -c.Real, Imaginary = -c.Imaginary };
    }
    
    // cast operator overloading (both implicit and explicit)
    public static implicit operator double(Complex c)
    {
        // return the modulus: sqrt(x^2 + y^2)
        return Math.Sqrt(Math.Pow(c.Real, 2) + Math.Pow(c.Imaginary, 2));
    }
    
    public static explicit operator string(Complex c)
    {
        // we should be overloading the ToString() method, but this is just a demonstration
        return c.Real.ToString() + " + " + c.Imaginary.ToString() + "i";
    }
}

public class StaticDemo
{
    public static void Main()
    {
        Complex number1 = new Complex() { Real = 1, Imaginary = 2 };
        Complex number2 = new Complex() { Real = 4, Imaginary = 10 };
        Complex number3 = number1 + number2; // number3 now has Real = 5, Imaginary = 12
        
        number3 = -number3; // number3 now has Real = -5, Imaginary = -12
        double testNumber = number3; // testNumber will be set to the absolute value of number3
        Console.WriteLine((string)number3); // This will print "-5 + -12i".
        // The cast to string was needed because that was an explicit cast operator.
    }
}



C# 关键字
抽象 作为 基地 布尔值 休息
字节 案件 捕捉 字符 已检查
常数 继续 十进制 默认
委托 双精度 否则 枚举
事件 显式 外部 最后
固定 浮动 为了 每一个 转到
如果 隐式 整数 界面
内部 命名空间
对象 运算符 外出
覆盖 参数 私有 受保护的 公共的
只读 参考 返回 字节 密封的
大小 堆栈分配 静态 字符串
结构 开关 这个 抛出 真的
尝试 类型 无符号整数 无符号长整型 未经检查
不安全 无符号短整型 使用 变数 虚拟
易失
特殊的 C# 标识符(上下文关键字)
添加 别名 异步 等待 动态
得到 全球 名称 局部 删除
设置 价值 什么时候 哪里 产量
上下文关键字(用于查询)
上升 下降 等于
群体 进入 加入
排序 选择 哪里
华夏公益教科书