本文以實例講述了C#簡單的向量用法,主要包括重載運算符>:以向量長度判斷是否為真、重載運算符!=、<、<=等,具體實現代碼如下:
using System;class Vector{ private double XVector; private double YVector; //構造函數 public Vector(double x, double y ) { XVector = x; YVector = y; } //獲取向量的長度 public double GetLength( ) { double Length = Math.Sqrt( XVector*XVector + YVector*YVector ); return Length; } //重載運算符== public static bool operator == ( Vector a, Vector b ) { return ( (a.XVector == b.XVector) && (a.YVector == b.YVector) ); } //重載運算符!= public static bool operator != ( Vector a, Vector b ) { return !( a == b ); } //重載運算符>:以向量長度判斷是否為真 public static bool operator > ( Vector a, Vector b ) { return a.GetLength( ) > b.GetLength( ); } //重載運算符< public static bool operator < ( Vector a, Vector b ) { return a.GetLength( ) < b.GetLength( ); } //重載運算符>= public static bool operator >= ( Vector a, Vector b ) { return ( a == b ) || ( a > b ); } //重載運算符<= public static bool operator <= ( Vector a, Vector b ) { return ( a == b ) || ( a < b ); }}class Test{ static public void Main( ) { Vector vector1 = new Vector( 3, 4 ); Vector vector2 = new Vector( 0, 5 ); Vector vector3 = new Vector( 2, 2 ); Console.WriteLine("向量1為( 3, 4 ) /t 向量2為( 0, 5 ) /t 向量3為( 2, 2 )"); Console.WriteLine("向量1 == 向量2 為:{0}", vector1 == vector2 ); Console.WriteLine("向量1 != 向量2 為:{0}", vector1 != vector2 ); Console.WriteLine("向量1 > 向量3 為:{0}", vector1 > vector3 ); Console.WriteLine("向量2 < 向量3 為:{0}", vector2 < vector3 ); Console.WriteLine("向量1 >= 向量2 為:{0}", vector1 != vector2 ); Console.WriteLine("向量1 <= 向量2 為:{0}", vector1 != vector2 ); }}
新聞熱點
疑難解答