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

罗湖网站建设58网站免费加速器

罗湖网站建设58,网站免费加速器,seo教程搜索引擎优化,网站模块如何添加翻译自 John Demetriou 2019年2月17日 的文章 《C# 8 – Introducing Index Struct And A Brand New Usage For The Hat Operator》今天我们要讲的是 Hat 运算符(^)。目前为止#xff0c;Hat 运算符(^)已经被用作布尔类型的异或运算符#xff0c;以及字节、整型类型的按位异或… 翻译自 John Demetriou 2019年2月17日 的文章 《C# 8 – Introducing Index Struct And A Brand New Usage For The Hat Operator》今天我们要讲的是 Hat 运算符(^)。目前为止Hat 运算符(^)已经被用作布尔类型的异或运算符以及字节、整型类型的按位异或运算符。在 C# 8 中它有一个新的用法。这个运算符的新用法是自动创建 Index 结构体的实例。那什么是 Index 结构呢这在 C# 8 中也有介绍。Index 结构体的代码就像所有的 C# 代码一样可以在 github 上找到。你可以看到它是一个相当简单的结构体包含一个整数值和一个定义是否应该从末尾开始计数的布尔值。它有助于让访问数组比以往容易很多。我们可以很轻松地将这个值存储在一个 Index 类型中来代替一个整数它比一个简单的整数更清楚地定义了我们的意图并有助于避免该变量的误用。到目前为止当尝试访问数组中特定索引处的值时我们总是从第一个元素开始考虑。那么 Hat 运算符(^)是如何帮助我们的呢例如如果你想获取一个已知大小的数组的最后一个的元素你通常会从数组的 Length 中减去 1并在检索时使用这个技巧或硬编码的数字。例如int[] array new int[] { 1, 3, 5, 7, 9 }; var x array[4]; 你可以像下面的例子一样使用数组提供的变量:int[] array new int[] { 1, 3, 5, 7, 9 }; var x array[array.Length - 1]; 这种方法也可以用于编译时长度未知的数组。并且这通常是首选方法因为它表明您希望更容易地检索最后一项而不是必须进行计数来查看哪个是第四项并验证它是最后一项。适当的使用 Index 结构我们可以很容易地创建一个索引值类型这样我们就可以存储它并随心地重用它以避免违反 DRY 原则。Index lastItem new Index(4, false); int[] array new int[] { 1, 3, 5, 7, 9 }; var x array[lastItem]; 译者注DRY 是 “Dont repeat yourself” 的缩写是软件开发的一个原则旨在减少软件模式的重复用抽象来替代它或者使用数据规范化来避免冗余。也就是说在一个设计里对于任何东西都应该有且只有一个表示其它的地方都应该引用这一处。这样需要改动的时候只需调整这一处所有的地方就都变更过来了。但正如我们所看到的我们还可以使用 fromEnd 参数来更好地表达我们希望检索最后一项并在编译时从一个大小未知的数组中检索最后一项。Index lastItem new Index(1, true); int[] array new int[] { 1, 3, 5, 7, 9 }; var x array[lastItem]; 不过我们需要记住的一点是当从末尾开始计数时不是以 0 开始的索引。把它想象成我们使用的 Length - x 其中 x 就是我们在 Index 结构体构造函数中使用的值。但是 Hat 运算符(^)在这一切中有何用武之地呢唔Hat 运算符(^) 是调用 Index 结构体时将 fromEnd 设置为 true 的简写方式。比如下面的两行是完全相同的Index lastItem new Index(1, true);// line 1 int[] array new int[] { 1, 3, 5, 7, 9 }; var x array[lastItem];Index lastItem ^1;//line 2, 同 line 1 int[] array new int[] { 1, 3, 5, 7, 9 }; var x array[lastItem]; 或者如果你想要检索倒数第二项你可以这么做Index secondToLast new Index(2, true); int[] array new int[] { 1, 3, 5, 7, 9 }; var x array[secondToLast];Index secondToLast ^2; int[] array new int[] { 1, 3, 5, 7, 9 }; var x array[secondToLast]; 就这样一个新的结构体类型和一个旧运算符(^)的新用法包装在一起了。作者 John Demetriou  译者 技术译民出品 技术译站https://ITTranslator.cn/END
http://www.zqtcl.cn/news/776277/

相关文章:

  • 关于网站建设申请卢沟桥做网站的公司
  • 网站源码对应的数据库怎么做单页成品网站
  • 网站分为哪几类上海人才网官网招
  • 网站建设的常见技术有哪些方面网站联系我们模块怎么做
  • 外贸网站建设专业上海四大设计院是哪四个
  • 太原网站设计排名维启网站建设
  • 电子商务网站建设基本流程图网站建设推广策划
  • 合肥集团网站建设哪个好果洛电子商务网站建设哪家好
  • 顺德高端网站企业建设网站没有服务器
  • .net网站开发模板天津手网站开发
  • 网页设计大赛网站开发重庆最近的新闻大事10条
  • 网站ftp用户名和密码是什么建设单位网站设计
  • 公司请人做的网站打不开网页游戏大厅都有哪些
  • 网投网站制作中国建设教育协会报名网站
  • 做外贸需要做网站吗上海中建建筑设计院有限公司
  • 网站源代码免费下载苏州seo网络优化公司
  • 建网站跟建网店的区别pico笔克品牌介绍
  • 网站设计小技巧西安网站建设网站
  • 做听书网站怎么做网站留言板带后台模板
  • 石家庄网站建设王道下拉棒厦门橄榄网站建设
  • 赤峰网站建设培训建筑资格证书查询官网
  • 共和县公司网站建设seo网络推广招聘
  • 网站怎样做外链百度网站地图提交
  • 瑞安联科网站建设中国做网站公司排名
  • jsp网站开发详解 赵增敏jsp网站首页怎么做
  • 有哪些可以做图的网站啊莱芜金点子广告电子版2024
  • 免费营销型网站模版南宁比较有好的网站制作公司
  • 做外贸上什么网站什么什么设计英文网站
  • 嘿客免费网站建设网站对联图片
  • 一件代发48个货源网站韶关最新消息