C#简单的向量用法实例教程
作者:shichen2014 发布时间:2022-09-27 09:57:29
标签:C#,向量,用法
本文以实例讲述了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 );
}
}


猜你喜欢
- CountDownLatch简介CountDownLatch顾名思义,count + down + latch = 计数 + 减 + 门闩(
- 前言Emmmm…最近在做项目的途中,有遇到一个方法需要接收的参数只有一个或者较少的时候就懒得写实体类去接收,使用spr
- 在上一篇文章中我介绍了使用Intent显式来实现页面向下跳转,接下来这篇文章主要介绍的是使用Intent隐式来实现向上跳转,什么意思呢,就是
- using System;using System.Collections.Generic;using System.Text;namesp
- 分部类(Partial Class)在C#2.0引入,分部方法(Partial Method)在C#3.0引入,这两个语法特性都具有相同的特
- 引言本文是关于Spark优化性能与内存使用的最佳实践,翻译整理自Tuning - Spark 3.3.2 Documentation。由于s
- 今天碰到了在XML中应用以内部类形式定义的自定义view,结果遇到了一些坑。虽然通过看了一些前辈写的文章解决了这个问题,但是我看到的几篇都没
- 一、根据流向分为输入流和输出流:注意输入流和输出流是相对于程序而言的。输出:把程序(内存)中的内容输出到磁盘、光盘等存储设备中输入:读取外部
- 当我们需要制作动态炫酷科技感很强的UI时,美术一般会给我们提供一些序列图,这时候我们只需在程序里实现序列动画。一.动画机unity自带的帧动
- 目录1、简介2、访问修饰符3、原则总结1、简介访问修饰符是Java语法中很基础的一部分,但是能正确的使用Java访问修饰符的程序员只在少数。
- 上一篇:C# Redis学习系列一:Redis的认识、下载、安装、使用一.redis 设置密码使用下载好的 redis-cli.exe指令:
- 先从本地把图片上传到服务器,然后根据URL把头像处理成圆形头像。因为上传图片用到bmob的平台,所以要到bmob(http://www.bm
- 最近因为项目需要,自己实现了个可以自由移动,并且长按可以跳出一个控制播放的,大的悬浮窗。好,开始吧。首先我们先聊权限,悬浮窗需要在manif
- 需求说明要求根据用户输入,生成相应组数的电话号码实现思路1、通过百度,获取对应真实世界中电话号码的头三位数2、采用Math.random()
- 最近在做一个项目,遇到了项目打成 war 包的一个问题,项目创建时选择的时 jar 包方式,后因项目部署要求,需要打成 war 包部署,遇到
- 前言在开发过程中需要快速新建getXXX();setXXX()方法的时候,就会想能否批量实现呢?例如实现如下代码,一次性操作,不是一个一个码
- 这篇文章主要介绍了Java多线程的临界资源问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 实现多文件的上传,基于标准的http来实现。1.多文件上传MyUploader类的实现:/** * * 同步上传多个文件 * 基于标准的h
- 本文主要对SpringBoot2.x参数校验进行简单总结,其中SpringBoot使用的2.4.5版本。一、引入依赖<dependen
- 这篇文章主要介绍了java接口私有方法实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可