.NET编程周记第3期-2020年1月19日

整理了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

原文地址:https://www.cnblogs.com/murongxiaopifu/p/12215231.html

时间: 2024-10-07 11:30:57

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

【公告】Symantec SSL证书品牌名将于2020年4月30日停止使用

尊敬的合作伙伴和客户: Symantec SSL证书品牌名将于2020年4月30日停止使用,您可以理解为这天是Symantec品牌用于SSL证书的最后一天. 一.Symantec 品牌 SSL 证书更名 DigiCert Secure Site 品牌 SSL 证书. 二.诺顿安全认证签章同步进行了更新. 三.证书交付和使用流程没有任何影响. 四.用户在其数字证书产品的页面或资料中 有出现Symantec需要在 2020-04-30前替换成 DigiCert Secure Site. 五.更名后,

ActiveMQ 5.15.12(2020年3月9日)

这些是当前版本.对于以前的版本,请参阅以前的版本页面. ActiveMQ 5.15.12(2020年3月9日) 文献资料 视窗 apache-activemq-5.15.12-bin.zip SHA512 GPG签名 Unix / Linux / Cygwin apache-activemq-5.15.12-bin.tar.gz SHA512 GPG签名 源代码分发: activemq-parent-5.15.12-source-release.zip SHA512 GPG签名 原文地址:htt

MyBatis - 系统化复习加强 (2020年4月11日始 持续更新)

目录 MyBatis - 系统化复习加强 (2020年4月11日始 持续更新) 1 简介 1.1 什么是MyBatis 1.2 持久层 1.3 为什么要用 MyBatis 1.4 如何获取 MyBatis 2 第一个MyBatis程序 2.1 搭建环境 2.2 创建Module 2.3 运行测试 2.4 常见BUG MapperRegistry问题 ★ Could not find resource .............UserMapper.xml Error creating docum

2020年1月1日_新年

时间静悄悄的一年又一年,对我来说今年是意义非凡的一年.从疑惑到恐惧和慌忙,最后到只剩下“去做”,做对的事,做想的事. 在今年,内心中出现最多的词是快乐.感觉.未来.世界.内心.现在. 从回到校园开始,忙忙碌碌,几乎没有一刻不在学习和思考学习,真想在这个专业再多学习两年,可是只有两年,现在大四的我,时间所剩不多,距离春招更是只剩下两个月时间,放下了工作,选择了内心,内心却充满恐惧与不安. 博客断更了很久,博客对我来说是一个能很好地总结输出的平台,能让自己看到自己到底在做什么事情,至少开一个新的随笔

2020年1月1日。

对过去的2019年总结,就是十分坎坷的一年,考研+调剂.还有一些心神不宁的事情.2019,对我来说,糟糕的更多一些,而我的运气也多了一些,可能就是互补吧.感情的风波,家里的离去.2019,这一年,真的太累了. 2020年也算来临了,双20,我要双好运,智慧和运气的并存.在刚进入2020年,我还是心潮澎湃的.我有说不清的想法,目标,我都要一一去完成,去实现.戒掉不好的坏毛病.希望自己的身体和家人的身体都能保持健康.在学业上我付出的还不够,在20年,我要学到更多的知识.帮助我去更好的构建自己的世界.

知识星球最新资料干货汇总(截止到2020年3月13日)

编者按 「数智萤火虫」内容介绍:以大数据.人工智能.数字化转型为核心,包括星主在技术.产品.解决方案.职场等方面20年的经验积累与感悟. 跨界延伸领域:企业架构.区块链.虚拟现实.增强现实.5G.产品经理等其他领域,包括文章.PPT.音频.直播.沙龙.答疑.考评等形式. 点击「数智萤火虫」直接加入,关注微信公众号「李福东频道」进入 #内容精选# 领取3天体验卡. 文章正文 一.星球内已有资源(文章.PPT.音频.代码等) DT-0001-揭秘10大热门领域创新的真相(开篇) DT-0002-开放

一些想记录的想法 2020年4月12日

我终于第一次打上了梦寐以求的橙色段,我想,至少证明了我不蠢吧,接下来就要学套路了,大概理一下接下来的时间安排和要做的事情吧. ICPC 实习 按照约定,应该跟着x老师做实习了. 知识 要全面系统地学习ICPC的知识,而不是像这样靠抖机灵上橙色,使用dalao们写的教学课件,持续的学习进度在下面更新. 课件链接:https://github.com/hzwer/shareOI 比赛 按照约定,暂时就不(强行熬夜)打CF了,学一些别的东西,集训队安排的训练也从今天开始略微认真一点做吧. 题单 要认真

2013腾讯编程马拉松初赛第〇场(3月20日)(HDU 4500 4501 4502 4503 4504)

小Q系列故事--屌丝的逆袭 Time Limit : 300/100ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submission(s) : 1   Accepted Submission(s) : 1 Problem Description 毕业于普通本科的小Q一直自称是资深屌丝,不仅学校不知名,甚至他自己在这个普通学校也是默默无闻--直到临近毕业的时候,班里5朵金花中的2位甚至从没和他说过话! 谁又能想到

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

1.数组的初始化 声明了数组后,就必须为数组分配内存,以保存数组的所有元素.数组是引用类型,所以必须给它分配堆上的内存,为此,应使用 new 运算符,指定数组中元素的类型和数量来初始化数组的变量.若使用了为未分配的元素,就会抛出NullReferenceExceptonl 类型的异常. int myArray=new int[4]; --> 在指定了数组的大小后,如果不复制数组中的所有元素,就不能重新设置数组的大小,如果事先不知道数组中应包含多少个元素,就可以使用集合. 下面使用数组初始化器为数