Notice: Function WP_Scripts::add was called incorrectly. The script with the handle "markdown-renderer" was enqueued with dependencies that are not registered: mermaid-js, prism-core. Please see Debugging in WordPress for more information. (This message was added in version 6.9.1.) in /home/dataadl/www/wp-includes/functions.php on line 6131

C# 10 Record Structs: Optimization

C# 9 Records were reference types (classes). C# 10 introduces `record struct`, bringing immutability features to value types, eliminating heap allocations for small DTOs.

Syntax

public readonly record struct Point(int X, int Y);

var p1 = new Point(1, 2);
var p2 = p1 with { X = 5 }; // Non-destructive mutation

Performance Benefit

Since it’s a struct, `Point` lives on the stack. No GC pressure for creating thousands of them in a loop.

Key Takeaways

  • Use `readonly record struct` for small, immutable DTOs (< 64 bytes).
  • Use `record class` (or just `record`) for larger objects or when identity matters.

Discover more from C4: Container, Code, Cloud & Context

Subscribe to get the latest posts sent to your email.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.