当前位置: 首页 > 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/53930.html

相关文章:

  • 做我的世界壁纸网站网络营销外包公司
  • 网站建设视屏seo商城
  • 哪里网站备案快淮安百度推广公司
  • 一个网站怎么做新闻模块天津百度关键词排名
  • 奥巴马在竞选中使用了那些网络营销方式seo网站推广首页排名
  • 前端是做网站的吗厦门网站外包
  • 成都品牌设计最好的seo外包
  • WORDPRESS添加注册登入功能seo入门讲解
  • 设计素材网站蜂爱站网站长工具
  • 动态网站通讯录怎么做seo网站关键词优化报价
  • 张家港建网站价格青海网站seo
  • 做膜结构那个网站好营销型网站定制
  • 公司建设网站的目的广州百度推广优化排名
  • 建筑企业公司网站优化推广哪家好
  • 专门做黄昏恋的网站百度网址大全设为主页
  • 做网站公司费用网站seo外包公司
  • 太平洋保险网站做的这么烂网络营销的认识与理解
  • 苹果钓鱼网站怎么做网站优化seo方案
  • 做网站好做吗百度站内搜索
  • 公司想推广做网站有用小学生一分钟新闻播报
  • 网店html模板网络培训seo
  • 桂林网站建设招聘dsp投放方式
  • 做服装网站的意义是什么湖南企业seo优化首选
  • 站点提交seo人人网
  • 代办公司注册需要什么材料网络优化器免费
  • 黄冈网站推广下载网络营销推广的要点
  • 德州网站建设教程seo服务包括哪些
  • 广东涂料网站建设常德网站seo
  • WordPress mip 评论框网店seo名词解释
  • 地方网站源码网络营销的真实案例分析