整理了2020年1月19日这周阅读的几篇有趣的和.NET开发相关的文章。在这里和大家分享。

0x00 Introducing Nullable Reference Types in C#

  • 如标题所示,本文介绍了在C# 8之后引入的可空引用类型。
  • 在本文的开头,介绍了空引用的起源以及Tony Hoare的“十亿美元的错误”,这是一段有趣的历史背景介绍。
  • 介绍了在处理空引用时存在的问题,以及如何在C#8中解决这些问题的方法,即他们添加了可空引用类型来表达引用可能为空的意图。

https://devblogs.microsoft.com/dotnet/nullable-reference-types-in-csharp/

0x01 A look at the internals of ‘boxing’ in the CLR

  • 如果你想知道CLR中的装箱实现,你只需要阅读这篇很有帮助的文章!
  • 本文首先介绍CLR规范中的装箱定义。然后讨论与CLR中的装箱/拆箱相关的il操作码和jit代码。相关操作会直接连接到对应的CLR代码。
  • 在本文的结尾,有一些有用的链接,例如CLR代码中与装箱/拆箱相关的注释,StackOverflow上的相关问题等等。

https://mattwarren.org/2017/08/02/A-look-at-the-internals-of-boxing-in-the-CLR/

0x02 Structuring Unit Tests

  • 本文已有些过时,但是本文的内容仍然非常有启发性。
  • 本文介绍的测试结构在是对每个要被测试的类中都有一个测试类来对应,有趣的是针对每个要被测试的方法也要有一个测试类来对应。你可以在NuGetGallery这个项目的代码库中找到一些示例。

https://haacked.com/archive/2012/01/02/structuring-unit-tests.aspx/

0x03 The Book of the Runtime

  • 《运行时之书》是一组文档,描述了CLR和BCL中的组件。它们旨在更多地关注CLR的体系结构。
  • 有一些有趣的主题,例如CLR的垃圾回收设计,类型系统等。

https://github.com/dotnet/runtime/blob/master/docs/design/coreclr/botr/README.md​github.com

0x04 Hidden Features of C#?

  • 一个来自Stack Overflow被查看了685k次的问题。 原始的问题已经有些过时了。但是有下面的回答包含了很多关于C#的隐藏功能或者是技巧。
  • 可以找到许多C#技巧。

https://stackoverflow.com/questions/9033/hidden-features-of-c?page=1&tab=votes#tab-top

0x05 Web Scraping with C#

  • 这篇文章总结了很多有关使用C#进行网络抓取的文章。
  • 可以在Github上找到一些有用的项目,例如AngleSharp。

https://www.dotnetswede.com/web-scraping-with-csharp/


欢迎大家关注我的公众号"慕容的游戏编程":chenjd01

.NET编程周记第3期-2020年1月19日的更多相关文章

  1. C#高级编程笔记 Day 7, 2016年9月 19日 (泛型)

    1.协变和抗变 泛型接口的协变 如果泛型类型用 out  关键字标注,泛型接口就是协变的.这也意味着返回类型只能是 T. 接口IIndex 与类型T 是协变的,并从一个制度索引器中返回这个类型. pu ...

  2. 一个由"2020年1月7日 京东出现的重大 Bug 漏洞"引起的思考...

    2020年1月7日,京东由于优惠券设置错误,导致大量产品以0元或者超低价成交,并且发货.网传小家电被薅24万件,损失损失金额高达7000多万.很多网友表示收到货了,在网上晒出到货截图.下面为购买截图: ...

  3. 2019年IntelliJ IDEA 最新注册码,亲测可用(截止到2020年3月11日)

    2019年IntelliJ IDEA 最新注册码(截止到2020年3月11日) 操作步骤: 第一步:  修改 hosts 文件 ~~~ 在hosts文件中,添加以下映射关系: 0.0.0.0 acco ...

  4. Webstorm 2019激活码(有效期至2020年6月5日)

    Webstorm 2019激活码(有效期至2020年6月5日):https://blog.csdn.net/lt326030434/article/details/90229298

  5. 从通达信导出文件获取A股所有股票代号名称(至2020年2月24日)

    下文是讲述如何从通达信的输出文件中获得股票信息,如果想用Java爬虫从网页爬取信息请参考:https://www.cnblogs.com/xiandedanteng/p/12808381.html 要 ...

  6. 2020年1月31日 安装Python的BeautifulSoap库记录

    C:\Users\ufo>pip install beautifulsoup4 Collecting beautifulsoup4 WARNING: Retrying (Retry(total= ...

  7. .NET Conf 2020大会将于2020年11月10日--- 11月12日举行 (UTC)时区

    .NET Conf 2020大会将于2020年11月10日--- 11月12日举行 (UTC)时区 开始时间 2020年11月10日 08:00 (PT) | 16:00 (UTC)| 24:00(北 ...

  8. C#高级编程笔记 Day 8, 2016年9月 28日 (数组)

    1.数组的初始化 声明了数组后,就必须为数组分配内存,以保存数组的所有元素.数组是引用类型,所以必须给它分配堆上的内存,为此,应使用 new 运算符,指定数组中元素的类型和数量来初始化数组的变量.若使 ...

  9. C#高级编程笔记 Day 6, 2016年9月 14日 (泛型)

    1.泛型类的功能:在创建泛型类时,还需要一些其他C#关键字.例如,不能把null赋予泛型类型.此时,可以使用default 关键字.如果泛型类型不需要Object类的功能,但需要调用泛型类上的某特定方 ...

随机推荐

  1. codeforce 379(div.2)

    A.B略 C题 ——贪心,二分查找: 对于每一个a[i], 在d中二分查找 s-b[i],注意不要忘记计算速度为x时需要花费的最小时间,以及整数范围为64位整数 1 #include <cstd ...

  2. Codevs 均分纸牌(贪心)

    题目描述 Description 有 N 堆纸牌,编号分别为 1,2,…, N.每堆上有若干张,但纸牌总数必为 N 的倍数.可以在任一堆上取若于张纸牌,然后移动. 移牌规则为:在编号为 1 堆上取的纸 ...

  3. antd Bug记录

    antd-mobile Carousel 走马灯竖向滚动内容为空会导致visibility:hidden; Carousel Banner轮播组件初始化加载高度不正确可以在第一张图片onload事件的 ...

  4. es6笔记 day2---数组热闹的循环

    数组: ES5里面新增一些东西 循环 : 1.for for(let i =0;i<arr.length;i++) 2.while arr.forEach() arr.map() arr.fil ...

  5. 土旦:移动端 Vue+Vant 的Uploader 实现 :上传、压缩、旋转图片

    面向百度开发 html <van-uploader :after-read="onRead" accept="image/*"> <img s ...

  6. TransactionDefinition接口中定义了七个事务传播行为

    1.PROPAGATION_REQUIRED如果存在一个事务,则支持当前事务,如果没有事务则开启一个新的事务.使用spring声明式事务,spring使用AOP来支持声明式事务,会根据事务属性,自动在 ...

  7. csredis-in-asp.net core理论实战-主从配置、哨兵模式

    csredis GitHub https://github.com/2881099/csredis 看了github上的开源项目,上面真的只是单纯的使用文档,可能对于我这种人(菜鸟)就不太友好, 我知 ...

  8. OPEN GL

    https://blog.csdn.net/cdut100/article/details/45753227 https://www.jianshu.com/p/d22cf555de47 https: ...

  9. pandas数据分析小知识点(一)

    最近工作上,小爬经常需要用python做一些关于excel数据分析的事情,显然,从性能和拓展性的角度出发,使用pandas.numpy是比vba更好的选择.因为pandas能提供诸如SQL的很多查找. ...

  10. TCP/IP|| 建立连接或终止

    1.TCP是一个面向连接的协议,在双方发送数据时需要之间建立连接. 当使用telnet命令是连接对应的端口产生TCP连接,通过tcpdump命令查看TCP报文段的输出 源>目的:标志 在标识中有 ...