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