
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>Mono Blog</title>
      <link>https://allendev.net/blog</link>
      <description>Blog about Microsoft technologies (.NET, ASP.NET Core, Blazor, EF Core, WPF, TypeScript, etc.)</description>
      <language>en-us</language>
      <managingEditor>zzyliu71@gmail.com (Allen Liu)</managingEditor>
      <webMaster>zzyliu71@gmail.com (Allen Liu)</webMaster>
      <lastBuildDate>Sun, 11 Feb 2024 00:00:00 GMT</lastBuildDate>
      <atom:link href="https://allendev.net/tags/c/feed.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://allendev.net/blog/2024-02-11-File-Transfer</guid>
    <title>File Transfer in C#</title>
    <link>https://allendev.net/blog/2024-02-11-File-Transfer</link>
    <description>This guide demonstrates a reliable file transfer solution using C#&#39;s native networking classes, with enhancements for error handling, asynchronous operations, and large file support.</description>
    <pubDate>Sun, 11 Feb 2024 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>.NET</category><category>.NET Core</category><category>C#</category>
  </item>

  <item>
    <guid>https://allendev.net/blog/2024-03-13-app-startup</guid>
    <title>Deep Dive into .NET 8 WebApplication: Architecture and Components</title>
    <link>https://allendev.net/blog/2024-03-13-app-startup</link>
    <description>WebApplication is used to configure the HTTP pipeline and routes in web applications. In this article, I&#39;ll break down its components and structure.</description>
    <pubDate>Wed, 13 Mar 2024 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>.NET</category><category>.NET Core</category><category>C#</category><category>webapplication</category>
  </item>

  <item>
    <guid>https://allendev.net/blog/2025-04-18-MessagePack</guid>
    <title>BSON vs MessagePack: Differences and How to Choose</title>
    <link>https://allendev.net/blog/2025-04-18-MessagePack</link>
    <description>BSON (Binary JSON) is a binary-encoded JSON format developed by MongoDB, primarily used for data storage and transmission in MongoDB databases. It extends the JSON format by adding support for...</description>
    <pubDate>Fri, 18 Apr 2025 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>.NET</category><category>C#</category><category>Database</category>
  </item>

  <item>
    <guid>https://allendev.net/blog/2025-07-08-csharp-task</guid>
    <title>Task in C#</title>
    <link>https://allendev.net/blog/2025-07-08-csharp-task</link>
    <description>The Task class in C# is a powerful tool for multithreaded programming, enabling asynchronous operations, parallel processing, and task cancellation. This guide demonstrates common patterns and best...</description>
    <pubDate>Tue, 08 Jul 2025 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>.NET</category><category>.NET Core</category><category>C#</category>
  </item>

  <item>
    <guid>https://allendev.net/blog/2025-08-09-configure-management</guid>
    <title>Configuration Management in .NET Core with appsettings.json</title>
    <link>https://allendev.net/blog/2025-08-09-configure-management</link>
    <description>A comprehensive guide to leveraging appsettings.json for flexible configuration management in .NET Core applications.</description>
    <pubDate>Sat, 09 Aug 2025 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>.NET</category><category>.NET Core</category><category>C#</category>
  </item>

  <item>
    <guid>https://allendev.net/blog/2025-09-23-dotnet-dependency-injection</guid>
    <title>.NET 8 Dependency Injection</title>
    <link>https://allendev.net/blog/2025-09-23-dotnet-dependency-injection</link>
    <description>Dependency Injection (DI) is a design pattern used to decouple dependencies between components (services). It achieves this by delegating the creation and management of dependencies to an external...</description>
    <pubDate>Tue, 23 Sep 2025 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>.NET</category><category>.NET Core</category><category>C#</category><category>Dependency Injection</category>
  </item>

  <item>
    <guid>https://allendev.net/blog/2025-11-23-multithreading</guid>
    <title>Improving Thread Communication in .NET: Moving Beyond Flags and Polling</title>
    <link>https://allendev.net/blog/2025-11-23-multithreading</link>
    <description>In multi-threaded development, we often use flags and polling to control execution logic within threads. However, this approach reduces code readability and maintainability while lacking elegance....</description>
    <pubDate>Sun, 23 Nov 2025 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>.NET</category><category>.NET Core</category><category>C#</category><category>Multithreading</category>
  </item>

  <item>
    <guid>https://allendev.net/blog/2025-12-22-task</guid>
    <title>Why ValueTask? A Guide to C#&#39;s Performance-Oriented Task Alternative</title>
    <link>https://allendev.net/blog/2025-12-22-task</link>
    <description>Since C# 5.0 introduced the async and await keywords, asynchronous programming has become remarkably simple. The Task type has played a crucial role in this paradigm, becoming a ubiquitous part of...</description>
    <pubDate>Mon, 22 Dec 2025 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>.NET</category><category>.NET Core</category><category>C#</category><category>async</category>
  </item>

  <item>
    <guid>https://allendev.net/blog/2026-01-22-XML1</guid>
    <title>Efficient XML Parsing in C#: A Performance Comparison</title>
    <link>https://allendev.net/blog/2026-01-22-XML1</link>
    <description>I recently encountered a task at work involving reading and writing XML, which led me to explore the performance implications of different approaches. I&#39;d like to share my findings with you.</description>
    <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>.NET</category><category>C#</category>
  </item>

  <item>
    <guid>https://allendev.net/blog/2026-02-09-property</guid>
    <title>Fields vs. Properties: Why Not Just Use Public Fields in C#?</title>
    <link>https://allendev.net/blog/2026-02-09-property</link>
    <description>When writing C# code, we frequently define auto-properties like this:</description>
    <pubDate>Mon, 09 Feb 2026 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>.NET</category><category>C#</category>
  </item>

  <item>
    <guid>https://allendev.net/blog/2026-03-15-XML2</guid>
    <title>Advanced XML Parsing: A Performance Duel Between LINQ, XPath, and Regex</title>
    <link>https://allendev.net/blog/2026-03-15-XML2</link>
    <description>Continuing our exploration from last time, let&#39;s dive deeper into the surprising performance differences in XML parsing. Our sample XML remains the same, provided by W3Schools:</description>
    <pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>C#</category><category>.NET</category><category>XML</category>
  </item>

  <item>
    <guid>https://allendev.net/blog/2026-04-07-Salt and Hash</guid>
    <title>Why You Must Salt and Hash Passwords: A Journey to Secure Storage</title>
    <link>https://allendev.net/blog/2026-04-07-Salt and Hash</link>
    <description>The topic of salting and hashing passwords is a fundamental concept in security, but why is it so crucial? This article will guide you through the evolution of password storage, from insecure to...</description>
    <pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>C#</category><category>.NET</category><category>Security</category>
  </item>

  <item>
    <guid>https://allendev.net/blog/2026-05-06-hash2</guid>
    <title>A Tour of Hash Functions: From MD5 to Argon2 and Beyond</title>
    <link>https://allendev.net/blog/2026-05-06-hash2</link>
    <description>In a previous article, we explored the topic of salted password hashing. This time, we&#39;ll expand on that by taking a broader look at the world of hash functions.</description>
    <pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>C#</category><category>.NET</category><category>Security</category>
  </item>

  <item>
    <guid>https://allendev.net/blog/2026-06-03-IEnumerable</guid>
    <title>Why Doesn&#39;t IEnumerable&lt;T&gt; Have a ForEach Method?</title>
    <link>https://allendev.net/blog/2026-06-03-IEnumerable</link>
    <description>In C#, types like List&lt;T&gt; (and others such as ImmutableList&lt;T&gt;) include a convenient ForEach method. It can be seen as a more functional-style alternative to the traditional foreach loop. For example:</description>
    <pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate>
    <author>zzyliu71@gmail.com (Allen Liu)</author>
    <category>.NET</category><category>.NET Core</category><category>C#</category>
  </item>

    </channel>
  </rss>
