c#自定义运算符

原创 Laughing  2017-09-17 16:03  阅读 55 次 评论 0 条

自定义运算符在项目中使用的很少,甚至基本没有使用。自定义运算符使用也非常简单,通过operator关键字定义自定义运算符。

简单Demo

Vector.cs

  1. using System;  
  2. namespace me.lisen.Practice  
  3. {  
  4.     public struct Vector  
  5.     {  
  6.         public double x, y, z;  
  7.         public Vector(double x,double y,double z){  
  8.             this.x = x;  
  9.             this.y = y;  
  10.             this.z = z;  
  11.         }  
  12.   
  13.         public Vector(Vector vector){  
  14.             this.x = vector.x;  
  15.             this.y = vector.y;  
  16.             this.z = vector.z;  
  17.         }  
  18.   
  19.         public override string ToString()  
  20.         {  
  21.             return string.Format("x={0},z={1},z={2}",x,y,z);  
  22.         }  
  23.   
  24.         public static Vector operator +(Vector lhs,Vector rhs){  
  25.             Vector result = new Vector(lhs);  
  26.             result.x += rhs.x;  
  27.             result.y += rhs.y;  
  28.             result.z += rhs.z;  
  29.             return result;  
  30.         }  
  31.     }  
  32. }  

program.cs

  1. using System;  
  2. using System.Reflection;  
  3.   
  4. namespace me.lisen.Practice  
  5. {  
  6.     class MainClass  
  7.     {  
  8.         public static void Main(string[] args)  
  9.         {  
  10.             Vector vector1 = new Vector(1,2,3);  
  11.             Vector vector2 = new Vector(4,5,6);  
  12.             Vector vector3 = vector1 + vector2;  
  13.             Console.WriteLine(vector3.ToString());  
  14.             Console.Read();  
  15.         }  
  16.     }  
  17. }  

历史上的今天:

本文地址:https://www.lisen.me/csharp-define-operation.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情