当前位置: 首页 > news >正文

领域网站建设北京突发重大消息

领域网站建设,北京突发重大消息,宝鸡做网站的公司有哪些,创业项目前言 我们知道函数是可以重载的,重载后的作用是干嘛呢?其实就是为了方便适应不同的参数传递。 那运算符我们也可以理解是一个函数,只是我们希望为更多的参数引入运算符使得他们可以被计算。 c#设计这么一块功能,其实也是为了方…

前言

我们知道函数是可以重载的,重载后的作用是干嘛呢?其实就是为了方便适应不同的参数传递。

那运算符我们也可以理解是一个函数,只是我们希望为更多的参数引入运算符使得他们可以被计算。

c#设计这么一块功能,其实也是为了方便我们在某些地方可以更快捷的使用不同的运算符。

概念

让自定义类和结构体能够使用运算符的一种概念。

关键字:operator

特点

  1. 一定是一个公共的静态方法
  2. 返回值写在operator前面
  3. 逻辑自定义

作用:让自定义类和结构体对象之间可以进行运算

tips:

  1. 条件运算符必须成对实现
  2. 一个运算符可以有多个重载
  3. 不能使用ref和out

基本语法

public static 返回值类型 operator 运算符(参数列表)

 示例和使用

我们在游戏中经常会遇到要进行坐标之间的运算,所以这里干脆直接我们就来实现一个坐标之间的运算符重载,博主将主要经常用的方法已经给你写好了,留下的任务一是让你去体验一下他的整体过程,取反的话相对来说复杂一些,可以选做。

using System;namespace CoordinateOperatorOverloading
{class Coordinate{public int X { get; set; }public int Y { get; set; }public Coordinate(int x, int y){X = x;Y = y;}// 重载 + 运算符public static Coordinate operator +(Coordinate c1, Coordinate c2){return new Coordinate(c1.X + c2.X, c1.Y + c2.Y);}// 重载 - 运算符public static Coordinate operator -(Coordinate c1, Coordinate c2){return new Coordinate(c1.X - c2.X, c1.Y - c2.Y);}// 重载 * 运算符(坐标与常数相乘)public static Coordinate operator *(Coordinate c, int scalar){return new Coordinate(c.X * scalar, c.Y * scalar);}// 重载 * 运算符(常数与坐标相乘)public static Coordinate operator *(int scalar, Coordinate c){return new Coordinate(c.X * scalar, c.Y * scalar);}// 重载 ++ 运算符(前缀)public static Coordinate operator ++(Coordinate c){return new Coordinate(c.X + 1, c.Y + 1);}// 重载 -- 运算符(前缀)public static Coordinate operator --(Coordinate c){return new Coordinate(c.X - 1, c.Y - 1);}// 重载 ToString 方法public override string ToString(){return $"({X}, {Y})";}//任务:增加重载比较运算符的方法//选做任务:增加取反:包括x单独取反,y单独取反,xy同时取反}class Program{static void Main(string[] args){Coordinate c1 = new Coordinate(3, 5);Coordinate c2 = new Coordinate(2, 4);Coordinate addition = c1 + c2;Coordinate subtraction = c1 - c2;Coordinate multiplication1 = c1 * 2;Coordinate multiplication2 = 3 * c2;Coordinate increment = ++c1;Coordinate decrement = --c2;Console.WriteLine($"Addition: {addition}");Console.WriteLine($"Subtraction: {subtraction}");Console.WriteLine($"Multiplication1: {multiplication1}");Console.WriteLine($"Multiplication2: {multiplication2}");Console.WriteLine($"Increment: {increment}");Console.WriteLine($"Decrement: {decrement}");}}
}

不仅要看懂,更要多多去敲代码。

可重载和不可重载的运算符

可重载算术:+,-,*,/   逻辑:!  位:|, &, ^, ~, >> ,<< 条件> <(需要成对实现) 
不可重载&& ,|| ,[] ,() ,点 . ,三目运算符 ,?= ,=,??

有些运算符你可能没见过,可以自己手动查一查。

总结

运算符重载的知识点不算难,其实就是记住一个关键词加使用范围就可以了。

这也算核心中补的一个小知识点,在未来你对某些复杂结构体之间的计算使用还是有一定的帮助的。

多说无益,还是需要脚踏实地。

c#是你学好unity开发的基础。

请期待我的下一篇博客!

我来自佑梦游戏开发,感谢你的关注和收藏!

http://www.ds6.com.cn/news/95660.html

相关文章:

  • 柳市网站推广正规seo大概多少钱
  • 定制网站哪家好百度电话怎么转人工
  • 宜宾网站建设88sou惠州网络营销公司
  • 广州正佳广场突然封闭seo业务培训
  • 网站建设联系电话广州网络公司
  • 网站建设腾讯云与阿里云在线代理浏览网站免费
  • 安庆做网站公司seo研究中心怎么了
  • 邢台手机网站建设报价网站推广软件免费版下载
  • 某公司网站策划建设seo推广主要做什么的
  • 用vs做购物网站代码网站seo优化有哪些方面
  • 怎么建设咨询网站企业网站模板下载
  • 网站建设资讯版块如何做用户运营seo分析师
  • 长春网站建设哪家好文明seo技术教程网
  • 网站弄论坛形式怎么做网站的网络推广
  • 做电商要不要公司网站互联网营销的方式有哪些
  • 网站被做301新余seo
  • 老虎机网站制作企业网站制作费用
  • 网站建设有哪些文件整站seo服务
  • 自制书签简单又漂亮安卓优化大师老版本下载
  • 网站备案要花钱吗电商seo是什么意思
  • 网站标题写什么作用快速排名优化推广排名
  • 百度网站制作公司今日军事新闻头条最新
  • java开发网站用什么框架教育培训网站
  • 网站建设费 大创网站排名费用
  • 帮人做彩票网站支付接口国外网站推广平台有哪些
  • 做网站的时候旋转图片网络营销知识
  • 西部数码虚拟主机怎么做网站24小时免费看的视频哔哩哔哩
  • 网站整体建设方案设计长沙优化科技有限公司
  • 网络营销工具大全搜索引擎优化要考虑哪些方面?
  • 电商网络推广免费网站seo优化