CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 ) using  System;
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )
using  System.Collections.Generic;
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )
using  System.Linq;
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )
using  System.Text;
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )
namespace  ConsoleApplication1
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )    
class MyCls
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )    
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
public int X
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            
get;
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            
set;
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        }

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
public int Y
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            
get;
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            
set;
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        }

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
public override string ToString()
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            
return string.Format("X={0},Y={1}", X, Y);
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        }

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
public override bool Equals(object obj)
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            MyCls a 
= obj as MyCls;
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            
return a.X == this.X && a.Y == this.Y;
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        }

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
public override int GetHashCode()
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            
return X * Y;
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        }
      
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
public static MyCls operator +(MyCls a, MyCls b)
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            
return new MyCls() { X = a.X + b.X, Y = a.Y + b.Y };
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        }

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
public static MyCls operator -(MyCls a, MyCls b)
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            
return new MyCls { X = a.X - b.X, Y = a.Y - b.Y };
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        }

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
public static MyCls operator ++(MyCls a)
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            
return new MyCls() { X = a.X++, Y = a.Y++ };
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        }

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
public static MyCls operator --(MyCls a)
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            
return new MyCls() { X = a.X--, Y = a.Y-- };
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        }

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
public static bool operator ==(MyCls a, MyCls b)
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            
return a.X == b.X && a.Y == b.Y;
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        }

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
public static bool operator !=(MyCls a, MyCls b)
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            
return a.X != b.X && a.Y != b.Y;
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        }

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
public static void Main()
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        
{
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            MyCls a 
= new MyCls { X = 1, Y = 1 };
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            MyCls b 
= new MyCls { X = 2, Y = 2 };
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            Console.WriteLine(a 
+ b);
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            Console.WriteLine(b 
- a);
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            Console.WriteLine(b
++);
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            Console.WriteLine(a
--);
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            Console.WriteLine(a
++ == b);
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            Console.WriteLine(a
!= b--);
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )            Console.ReadLine();
CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )        }

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )    }

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )}

CLR via C#学习笔记:C#操作符重载学习( 基于.NET3.5 )


 

输出结果:

X=3,Y=3
X=1,Y=1
X=3,Y=3
X=0,Y=0
True
False

 

你可能感兴趣的:(.net)