匿名类 和 运算符重载

匿名类型

顾名思义 匿名类型就是没有名字的类型。就相当一张临时表一样。

用途:在框架中运用平凡

关键字:Var(是一种语法糖技术)

    Var:隐式类型推断实际类型

       任意类

例如:

 class Program
     {
       static void Main(string[] args)
       {
           //声明一个匿名对象,拥有 Name和Age 属性
             var obj = new { Name = "Joey", Age = 25 };//这里的new { Name = "Joey", Age = 25 } 就是一个匿名类型 ,obj则是这个类型的一个对象,称为匿名对象
           Console.WriteLine("匿名对象obj : Name=" + obj.Name + " , Age=" + obj.Age);
         }
   }

运算符重载

Person类

namespace chp07运算符重载
{
   public class Person
    {
       public string Name { get; set; }
       public int  Age { get; set; }
       public static  int operator +(Person p1,Person p2)
       {
           return p1.Age + p2.Age;
       }
       //重载==
       public static bool operator ==(Person p1,Person p2)
       {
           return p1.Age == p2.Age;
       }

       public static bool operator !=(Person p1, Person p2)
       {
           return p1.Age != p2.Age;
       }
       public static int operator  -(Person p1,Person p2)
       {
           return p1.Age - p2.Age;
       }
      
    }
}

重载相等的方法有相等和不等
Program

namespace chp07运算符重载
{
    class Program
    {
        static void Main(string[] args)
        {
            Person p1=new Person(){Name = "李小龙",Age =120};
            Person p2=new Person(){Name = "甄子丹",Age = 20};
            Console.WriteLine(p1+p2);
            Console.WriteLine("对象p1的年龄减去p2的年龄");
            Console.WriteLine(p1-p2);
            if (p1==p2)
            {
                Console.WriteLine("内存地址一样啊啊啊");
            }
            Console.ReadKey();
        }
    }
}
原文地址:https://www.cnblogs.com/yejiaojiao/p/5387669.html