做网站可以不写代码,网站建设登录结构图,郑州有免费建网站的公司吗,wordpress在线邮箱验证码关键词#xff1a;operator
语法#xff1a;
public static void operator 运算符(参数列表){} 作用#xff1a;让自定义类或结构体对象#xff0c;可以使用运算符进行运算 注意#xff1a; 参数的数量#xff1a;与所重载的运算符的运算规则有关。如加法只能有2个参数…关键词operator
语法
public static void operator 运算符(参数列表){} 作用让自定义类或结构体对象可以使用运算符进行运算 注意 参数的数量与所重载的运算符的运算规则有关。如加法只能有2个参数 条件运算符需要配对实现一旦重载了就必须重载! 一个符号可以多个重载 不能用ref和out
特点 一定是一个公共的静态方法 返回值写在operator前 逻辑处理自定义
不可重载的运算符
逻辑与() 逻辑或(||)
索引符 []
强转运算符 ()
特殊运算符
点. 三目运算符? : 赋值符号 参数的类型必须有一个参数跟返回值的参数一样 示例
class Student
{private int age; private string name;public Student (int age,string name){this.ageage; this.namename;}//重载public static bool operator (Student s1,Student s2){if(s1.ages2.age s1.names2.name)return true;elsereturn false;}//重载 //一旦重载了就必须重载!public static bool operator ! (Student s1,Student s2){bool result s1s2; //调用了上面的重载运算符return !result;}//调用Main(){Student s1new Student(17,张三);Student s2new Student(17,张三);Console.WriteLine(s1s2);//重载前返回false∵比较的是在栈中存储的内存地址//重载后返回true}
}