c#的运算符

时间:2022-07-24
本文章向大家介绍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 从右到左