{"id":15527,"date":"2024-03-15T11:20:42","date_gmt":"2024-03-15T11:20:42","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/"},"modified":"2025-08-06T19:22:13","modified_gmt":"2025-08-06T19:22:13","slug":"how-is-the-usage-of-record-in-c","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/","title":{"rendered":"How is the usage of record in C#?"},"content":{"rendered":"<p>New record types were introduced in C# 9 as an immutable data type to represent values with a set of related properties. Creating and using record types is very simple, here are some common use cases:<\/p>\n<ol>\n<li>Define the type record.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">record<\/span> <span class=\"hljs-title\">Person<\/span>\r\n{\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-built_in\">string<\/span> FirstName { <span class=\"hljs-keyword\">get<\/span>; <span class=\"hljs-keyword\">init<\/span>; }\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-built_in\">string<\/span> LastName { <span class=\"hljs-keyword\">get<\/span>; <span class=\"hljs-keyword\">init<\/span>; }\r\n}\r\n<\/code><\/pre>\n<p>The code above defines a record type called Person, which has two read-only properties: FirstName and LastName.<\/p>\n<ol>\n<li>Create a record object:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>Person person = <span class=\"hljs-keyword\">new<\/span> Person { FirstName = <span class=\"hljs-string\">\"John\"<\/span>, LastName = <span class=\"hljs-string\">\"Doe\"<\/span> };\r\n<\/code><\/pre>\n<p>The code above initializes a Person object and sets initial values for its properties.<\/p>\n<ol>\n<li>Accessing the properties of the record object.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>Console.WriteLine(person.FirstName); <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\uff1aJohn<\/span>\r\nConsole.WriteLine(person.LastName); <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\uff1aDoe<\/span>\r\n<\/code><\/pre>\n<p>The code above accesses the properties of the record object using the dot notation.<\/p>\n<ol>\n<li>Compare record objects.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>Person person1 = <span class=\"hljs-keyword\">new<\/span> Person { FirstName = <span class=\"hljs-string\">\"John\"<\/span>, LastName = <span class=\"hljs-string\">\"Doe\"<\/span> };\r\nPerson person2 = <span class=\"hljs-keyword\">new<\/span> Person { FirstName = <span class=\"hljs-string\">\"John\"<\/span>, LastName = <span class=\"hljs-string\">\"Doe\"<\/span> };\r\n\r\nConsole.WriteLine(person1 == person2); <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\uff1aTrue<\/span>\r\n<\/code><\/pre>\n<p>The code above compares the values of two record objects using the &#8220;==&#8221; operator, as the record type automatically implements value comparison logic.<\/p>\n<ol>\n<li>Update the properties of the record object:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>Person updatedPerson = person <span class=\"hljs-keyword\">with<\/span> { FirstName = <span class=\"hljs-string\">\"Jane\"<\/span> };\r\n<\/code><\/pre>\n<p>The code above updates the properties of the record object using a with expression, which will return a new record object.<\/p>\n<p>It is important to note that the record type is immutable, meaning once it is created, the values of its attributes cannot be modified. To update attribute values, a new record object must be created using the with expression. This feature makes the record type more suitable for representing immutable data, such as DTOs (Data Transfer Objects) and domain models.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>New record types were introduced in C# 9 as an immutable data type to represent values with a set of related properties. Creating and using record types is very simple, here are some common use cases: Define the type record. public record Person { public string FirstName { get; init; } public string LastName { [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[453,1402,299,1404,1403],"class_list":["post-15527","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-development","tag-guide","tag-programming","tag-technology","tag-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How is the usage of record in C#? - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn about how is the usage of record in c#?. Comprehensive guide with examples and best practices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How is the usage of record in C#?\" \/>\n<meta property=\"og:description\" content=\"Learn about how is the usage of record in c#?. Comprehensive guide with examples and best practices.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T11:20:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-06T19:22:13+00:00\" \/>\n<meta name=\"author\" content=\"Emily Johnson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emily Johnson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/\"},\"author\":{\"name\":\"Emily Johnson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378\"},\"headline\":\"How is the usage of record in C#?\",\"datePublished\":\"2024-03-15T11:20:42+00:00\",\"dateModified\":\"2025-08-06T19:22:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/\"},\"wordCount\":216,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Development\",\"guide\",\"programming\",\"technology\",\"tutorial\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/\",\"name\":\"How is the usage of record in C#? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T11:20:42+00:00\",\"dateModified\":\"2025-08-06T19:22:13+00:00\",\"description\":\"Learn about how is the usage of record in c#?. Comprehensive guide with examples and best practices.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How is the usage of record in C#?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378\",\"name\":\"Emily Johnson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"caption\":\"Emily Johnson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How is the usage of record in C#? - Blog - Silicon Cloud","description":"Learn about how is the usage of record in c#?. Comprehensive guide with examples and best practices.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/","og_locale":"en_US","og_type":"article","og_title":"How is the usage of record in C#?","og_description":"Learn about how is the usage of record in c#?. Comprehensive guide with examples and best practices.","og_url":"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T11:20:42+00:00","article_modified_time":"2025-08-06T19:22:13+00:00","author":"Emily Johnson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Emily Johnson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/"},"author":{"name":"Emily Johnson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378"},"headline":"How is the usage of record in C#?","datePublished":"2024-03-15T11:20:42+00:00","dateModified":"2025-08-06T19:22:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/"},"wordCount":216,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Development","guide","programming","technology","tutorial"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/","url":"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/","name":"How is the usage of record in C#? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T11:20:42+00:00","dateModified":"2025-08-06T19:22:13+00:00","description":"Learn about how is the usage of record in c#?. Comprehensive guide with examples and best practices.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-usage-of-record-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How is the usage of record in C#?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378","name":"Emily Johnson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","caption":"Emily Johnson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/15527","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=15527"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/15527\/revisions"}],"predecessor-version":[{"id":49001,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/15527\/revisions\/49001"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=15527"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=15527"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=15527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}