vector.cs

来自「这是.net2005学习不可缺少的教程」· CS 代码 · 共 105 行

CS
105
字号
using System;

namespace Indexer
{
	/// <summary>
	/// Vector 的摘要说明。
	/// </summary>
	public struct Vector
	{
		private double x;
		private double y;
		private double z;

		public double this[int index]
		{
			set
			{
				switch(index)
				{
					case 0:
						x=value;
						break;
					case 1:
						y=value;
						break;
					case 2:
						z=value;
						break;
				}
			}
			get
			{
				double res=0;
				switch(index)
				{
					case 0:
						res=x;
						break;
					case 1:
						res=y;
						break;
					case 2:
						res=z;
						break;
				}
				return res;
			}

		}


		public double this[string index]
		{
			set
			{
				switch(index)
				{
					case "x":
						x=value;
						break;
					case "y":
						y=value;
						break;
					case "z":
						z=value;
						break;
				}
			}
			get
			{
				double res=0;
				switch(index)
				{
					case"x":
						res=x;
						break;
					case "y":
						res=y;
						break;
					case "z":
						res=z;
						break;
				}
				return res;
			}

		}

		public static Vector operator+(Vector v1,Vector v2)
		{
			Vector v=new Vector();
			v[0]=v1[0]+v2[0];
			v[1]=v1[1]+v2[1];
			v[2]=v1[2]+v2[2];
			return v;
		}

		public override string ToString()
		{
			return String.Format("x={0},y={1},z={2}",x,y,z);
		}

	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?