c#的运算符

c#的运算符和c的运算符的关系,是c包含于C#,因此C#有更多的运算符。
先来学习一下三个是c中没用的:
1、typeof()    返回 class 的类型。                                typeof(StreamReader);
2、is    判断对象是否为某一类型。                              If( Ford is Car) // 检查 Ford 是否是 Car 类的一个对象。
3、as    强制转换,即使转换失败也不会抛出异常。    Object obj = new StringReader("Hello");
                                                                                 StringReader r = obj as StringReader;

实例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace OperatorsAppl
{
    class Class1
    {

    }

    class Class2 : Class1 //类Class2是类Class1的子类
    {

    }
    class Rectangle
    {
        // 成员变量
        double length;
        double width;
        private const string bookName = "新华字典";
        public void Acceptdetails()//一个用来赋值的方法
        {
            length = 4.5;
            width = 3.5;
        }
        public double GetArea()//一个用来计算的方法
        {
            return length * width;
        }
        public void Display()//一个用来打印的方法
        {
            Console.WriteLine("Length: {0}", length);
            Console.WriteLine("Width: {0}", width);
            Console.WriteLine("Area: {0}", GetArea());//打印GetArea方法的计算结果
        }
    }

    class Program
    {
        static void Main(string[] args)
        {

            /* sizeof 运算符的实例 */
            Console.WriteLine("int 的大小是 {0}", sizeof(int));
            Console.WriteLine("short 的大小是 {0}", sizeof(short));
            Console.WriteLine("double 的大小是 {0}", sizeof(double));

            /* 三元运算符的实例 */
            int a, b;
            a = 10;
            b = (a == 1) ? 20 : 30;
            Console.WriteLine("b 的值是 {0}", b);

            b = (a == 10) ? 20 : 30;
            Console.WriteLine("b 的值是 {0}", b);

            if(b is int)
            {
                Console.WriteLine("b is int");
            }
            Console.WriteLine("typeof(Program)={0}", typeof(Program));
            Console.WriteLine("typeof(Rectangle)={0}", typeof(Rectangle));

            Object rec = new Rectangle();

            Rectangle r2 = rec as Rectangle;

            r2.Acceptdetails();
            r2.GetArea();
            r2.Display();

            Console.ReadLine();
        }
    }
}

当上面的代码被编译和执行时,它会产生下列结果:

int 的大小是 4
short 的大小是 2
double 的大小是 8
b 的值是 30
b 的值是 20
b is int
typeof(Program)=OperatorsAppl.Program
typeof(Rectangle)=OperatorsAppl.Rectangle
Length: 4.5
Width: 3.5
Area: 15.75


C# 中的运算符优先级
基本上和c类似,就是多了type如下所示:
一元     + - ! ~ ++ - - (type)* & sizeof     从右到左 
 

原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/12007299.html