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

wordpress4.9下载seo技术专员招聘

wordpress4.9下载,seo技术专员招聘,网络营销方案的制定,做个公司网站一般多少钱运算符重载允许你重新定义内置运算符(如、-、*等)的行为,以便它们可以用于自定义类型(类/结构体)。通过运算符重载,你可以为自定义类型创建更直观和灵活的操作。 在C#中,可以重载的运算符如下&…

运算符重载允许你重新定义内置运算符(如+、-、*等)的行为,以便它们可以用于自定义类型(类/结构体)。通过运算符重载,你可以为自定义类型创建更直观和灵活的操作。

在C#中,可以重载的运算符如下:

1. 一元运算符:`+`、`-`、`!`、`~`、`++`、`--`
2. 二元算术运算符:`+`、`-`、`*`、`/`、`%`
3. 二元关系运算符:`==`、`!=`、`<`、`>`、`<=`、`>=`
4. 逻辑运算符:`&&`、`||`
5. 位运算符:`&`、`|`、`^`、`<<`、`>>`
6. 赋值运算符:`=`
7. 类型转换运算符:`as`、`is`、`(type)`
8. 索引运算符:`[]`

需要注意的是,运算符重载有一些限制和规则:

1. 不允许重载的运算符:`.`(成员访问)、`?:`(条件表达式)、`sizeof`(类型大小)和`typeof`(获取类型信息)。
2.注意:在C#中,二元关系运算符(如`==`、`!=`、`<`、`>`、`<=`、`>=`)需要成对实现。如果你重载了其中一个二元关系运算符,那么通常应该同时重载其对应的运算符,以确保一致性和可预测性。

这是因为这些二元关系运算符之间存在一定的关联性和逻辑关系。例如,如果你重载了`==`运算符用于对象的相等比较,那么通常也需要重载`!=`运算符来进行不等比较。

以下是一些常见的二元关系运算符及其对应的运算符:

- `==`(相等)对应 `!=`(不等)
- `!=`(不等)对应 `==`(相等)
- `<`(小于)对应 `>`(大于)
- `>`(大于)对应 `<`(小于)
- `<=`(小于等于)对应 `>=`(大于等于)
- `>=`(大于等于)对应 `<=`(小于等于)

 

3. 重载运算符必须声明为公共和静态的。
4. 运算符重载方法必须具有特定的签名,并且必须与运算符的预定义行为相匹配

总结起来,可以重载大多数常见的运算符,但有一些特殊运算符是不允许重载的。在设计和使用运算符重载时,应当遵循一定的规则和约定,以确保代码的可读性和可维护性。

以下是代码实战:

1.重载运算符+:

namespace 运算符重载
{class Point{public int x;public int y;public static Point operator+(Point p1,Point p2){Point p = new Point();p.x= p1.x + p2.x;p.y = p1.y + p2.y;return p;}}   internal class Program{static void Main(string[] args){Point p = new Point();p.x = 1;p.y = 2;Point p2 = new Point();p2.x = 2;p2.y = 3;Point p3 = p + p2;}}}

这段代码演示了在C#中如何对加法运算符进行重载。具体解释如下:

  1. 定义了一个名为Point的类,该类包含两个公共的整型属性 xy,表示二维平面上的一个点。

  2. 重载了加法运算符 + 的方法:

    此重载方法接受两个 Point 对象作为参数,并返回一个新的 Point 对象在方法内部,根据两个点的坐标分别相加,创建一个新的 Point 对象并返回。
  3. Main 方法中,创建了两个 Point 对象 pp2,并分别给它们的 xy 属性赋值。

  4. 使用重载的加法运算符 +pp2 相加,将结果赋值给 p3

总结来说,运算符重载允许我们重新定义现有运算符的行为,使其适用于自定义的数据类型。在这个例子中,通过重载加法运算符,我们定义了两个 Point 对象相加的行为,使其返回一个新的 Point 对象。

2.重载运算符+:

namespace 运算符重载
{class Point{public int x;public int y;public static Point operator +(Point p1, int value){Point p = new Point();p.x = p1.x + value;p.y = p1.y + value;return p;}}   internal class Program{static void Main(string[] args){Point p = new Point();p.x = 1;p.y = 2;Point p2 = new Point();p2.x = 2;p2.y = 3;Point p4= p + 2;}
}}

这段代码演示了在C#

中如何对加法运算符进行重载,具体解释如下:

1. 定义了一个名为`Point`的类,该类表示二维平面上的一个点,并包含两个公共的整型属性 `x` 和 `y`,分别表示点的横坐标和纵坐标。

2. 重载了加法运算符 `+` 的方法:
   - 这个重载方法接受两个参数:一个是 `Point` 类型的对象 `p1`,另一个是 `int` 类型的值 `value`。
   - 在这个重载方法内部,创建了一个新的 `Point` 对象 `p`,并将其横坐标和纵坐标分别设置为原始点对象 `p1` 的横坐标和纵坐标与给定的整数值 `value` 相加的结果。
   - 最后返回这个新创建的 `Point` 对象 `p`。

3. 在 `Main` 方法中,首先创建了两个 `Point` 对象 `p` 和 `p2`,并分别给它们的 `x` 和 `y` 属性赋值。

4. 使用重载的加法运算符 `+` 将 `p` 和整数值 `2` 相加,将结果赋值给 `p4`。这里实际上是调用了之前重载的方法,将 `p` 对象和整数值 `2` 作为参数传递给了重载的加法运算符方法。

5.在重载运算符的上下文中,`Point p1` 不需要通过 `new` 关键字创建一个新的对象,它是作为运算符重载方法的参数传递进来的,代表了调用重载运算符的左操作数。

当你写下 `p.x = p1.x + value;` 时,实际上是在使用调用该运算符的左操作数 `p1` 的属性 `x` 的值,然后加上给定的整数值 `value`。由于 `p1` 是一个已经存在的 `Point` 对象,因此可以直接访问其属性值,并进行相应的操作。

通过运算符重载方法,我们可以在不创建新的对象的情况下,对现有的对象进行操作并返回结果,而不需要显式使用 new 关键字创建新的对象。

总之,在运算符重载的上下文中,左操作数和右操作数都可以直接访问其属性值,不需要额外创建新的对象。

最终,通过重载的加法运算符 `+`,我们可以将一个点对象和一个整数值相加,得到一个新的点对象,其横坐标和纵坐标分别为原始点对象的横坐标和纵坐标与给定的整数值相加的结果。

3.重载运算符==

注意:在C#中,二元关系运算符(如`==`、`!=`、`<`、`>`、`<=`、`>=`)需要成对实现。

 namespace 运算符重载
{struct Position{public int x;public int y;public static bool operator ==(Position p1, Position p2){if(p1.x == p2.x && p1.y == p2.y){return true;}return false;}public static bool operator !=(Position p1, Position p2){if (p1.x == p2.x && p1.y == p2.y){return false;}return true;}}internal class Program{static void Main(string[] args){Position p11;p11.x = 1;p11.y = 1;Position p22;p22.x = 1;p22.y = 1;if (p11 == p22){Console.WriteLine("相等");}}} }

这段代码演示了如何在C#中重载相等运算符(`==`)和不相等运算符(`!=`)。

1. 首先定义了一个名为 `Position` 的结构体。结构体类似于类,用于表示一个位置(二维平面上的点),并包含两个公共的整型属性 `x` 和 `y`。

2. 接下来,通过使用 `operator ==` 关键字,重载了相等运算符 `==` 的方法。该方法接受两个 `Position` 类型的对象 `p1` 和 `p2` 作为参数,并返回一个布尔值。

3. 然后,通过使用 `operator !=` 关键字,重载了不相等运算符 `!=` 的方法。与相等运算符的重载方法类似,不相等运算符的重载方法也接受两个 `Position` 对象 `p1` 和 `p2` 作为参数,并返回一个布尔值。

在方法内部,如果 `p1` 的 `x` 属性和 `p2` 的 `x` 属性相等,并且 `p1` 的 `y` 属性和 `p2` 的 `y` 属性相等,则返回 `false`,否则返回 `true`。

4. 在 `Main` 方法中,首先声明了两个 `Position` 对象 `p11` 和 `p22`,并分别给它们的 `x` 和 `y` 属性赋值。

5. 然后,通过使用重载的相等运算符 `==`,将 `p11` 和 `p22` 进行比较。如果它们的 `x` 属性和 `y` 属性都相等,则输出 "相等"。

有什么问题欢迎大家留言呀~

http://www.mmbaike.com/news/90722.html

相关文章:

  • 自己做网站赚流量钱济南做网站公司哪家好
  • 北京自助建站系统百度指数关键词未收录怎么办
  • 做胃镜需那好天津津门网站A整站优化和单词
  • 如何做私服网站代理网站快速上排名方法
  • 做网站的qq兼职怎么优化推广自己的网站
  • 深圳网络开发公司有哪些优化公司排行榜
  • 深圳微信网站公司网络推广外包哪家好
  • 做国外零售做什么网站竞价推广专员
  • PHP+MySQL网站开发全程实例网站设计公司怎么样
  • 网站开发asp 视频教程域名搜索引擎
  • java怎么做网站域名注册管理机构
  • 网站开发网seo优化关键词放多少合适
  • 今日国内新闻头条大事南宁seo咨询
  • 淘宝联盟怎么自己做网站网站seo培训
  • 网站怎么做才不会被封电商网店
  • 做网站可以用思源字体吗太原seo网站排名
  • 群晖根目录wordpress东莞seo网络公司
  • 一流的赣州网站建设推广之家app
  • 专科医院网站建设双11销售数据
  • 网站建设 上海网头条热点新闻
  • 有没有做网站的电话营销的概念是什么
  • nodejs网站毕设代做关于华大18年专注seo服务网站制作应用开发
  • 计算机学习网站百度seo指南
  • 公众号做成网站那样怎么做新闻热点最新事件
  • 招聘网站哪个好用关键词seo优化排名公司
  • 广州网站建设易企今天热搜榜前十名
  • photoshop手机版安卓汕头seo全网营销
  • 衡水做外贸网站建设百度网盟推广怎么做
  • 定制软件开发文案揭阳百度快照优化排名
  • 做网站市场报价黑马程序员培训机构在哪