
- 操作符(Operator)也译为“运算符”
- 操作符是用来操作数据的,被操作符操作的数据称为操作数(Operand)\
操作符的本质
- 操作符的本质是函数(即算法)的“简记法”
- 假如没有发明“+”,只有
Add函数,算式3+4+5将可以写成Add(Add(3,4),5) - 假如没有发明“”,只有
Mul函数,那么算式 `3+45只能写成Add(3,Mul(4,5))`
- 假如没有发明“+”,只有
- 操作符不能脱离与它关联的数据类型
- 可以说操作符就是与固定数据类型相关联的一套基本算法的简记法
- 示例:为自定义数据类型创建操作符\
下例中操作符 + 就是 GetMarry 方法的简记。
namespace CreateOperator{class Program{static void Main(string[] args){Person person1 = new Person();Person person2 = new Person();person1.Name = "Deer";person2.Name = "Deer's wife";//var nation = Person.GetMarry(person1, person2);var nation = person1 + person2;foreach (var p in nation){Console.WriteLine(p.Name);}}}class Person{public string Name;//public static List<Person> GetMarry(Person p1, Person p2)public static List<Person> operator + (Person p1, Person p2){List<Person> people = new List<Person>();people.Add(p1);people.Add(p2);for (int i = 0; i < 11; i++){var child = new Person();child.Name = p1.Name + " & " + p2.Name + "'s child";people.Add(child);}return people;}}}
