操作符概览
操作符的本质
操作符的优先级
同级操作符的运算顺序
各类操作符的实例
1.操作符概览
从上往下优先级依次降低,越靠上操作符优先级越高,越先运算,越靠下操作符优先级越低,越晚运算
赋值操作符从右向左运算
操作符(operator)也译为“运算符”
操作符是用来操作数据的,被操作符操作的数据称为操作数(operand)
2.操作符的本质
操作符的本质是函数(即算法)的“简记法”
操作符不能脱离与它关联的数据类型
(可以说操作符就是与固定数据类型相关联的一套基本算法的简记法
示例:为自定义数据类型创建操作符)
class Program
{
static void Main(string[] args)
{
Person persion1 = new Person();
Person person2 = new Person();
persion1.Name = "Deer";
person2.Name = "Deer's wife";
List<Person> nation = Person.GetMarry(persion1, person2);
foreach(var p in nation)
{
Console.WriteLine(p.Name);
}
}
}
class Person
{
public string Name;
public static List<Person>GetMarry(Person p1,Person p2)
{
List<Person> people = new List<Person>();
people.Add(p1);
people.Add(p2);
for(int i=0;i<11;i++)
{
Person child = new Person();
child.Name = p1.Name + "&" + p2.Name + "s child";
people.Add(child);
}
return people;
}
}
3.优先级与运算顺序
操作符的优先级
可以使用圆括号提高被括起来表达式的优先级
圆括号可以嵌套
不像数学里有方括号和花括号,在C#语言里“[]”与“{}”有专门的用途
4.同优先级操作符的运算顺序
除了带有赋值功能的操作符,同优先级操作符都是从左向右进行运算
带有赋值功能的操作符的运算顺序是由右向左
与数学运算不同,计算机语言的同优先级运算没有“结合率”
5.各类操作符的实例
typeof
defalt