1
/
5

【C# 9.0】Record 型 を実際に使ってみた気づき【株式会社ライトコード】


Record型を使ってみた気付き

C# 9.0 からRecord型というものが追加され、 実際に使用してみたところ、
”書き換え不可”という制約が良い方にも悪い方にも働いていると感じた。

レコード型の詳しい説明は自分が以前書いたブログを見てもらいたい。
【C# 9.0】Record 型 の使い方について

良い点は書き換え不可なので、当然インスタンスを生成したときから変わらないため、データの状態がわかりやすい。
しかし開発を進めると、データの一部を書き換えたいという要件がよく発生する。
書き換え不可なので新しくインスタンスを生成することになるのだが、
全てのプロパティを羅列するのが冗長になってしまう。

// レコードでの宣言

public record ItemRecord(int ItemId, string Name, int Value);

var currentItemRecord = new ItemRecord(1, "回復薬", 5);

// インスタンスの情報を渡すためにプロパティを羅列して冗長になる
var afterItemRecord = new ItemRecord(currentItemRecord.ItemId, currentItemRecord.Name, currentItemRecord.Value - 1);

// インスタンスが同一か
Debug.Log(ReferenceEquals(currentItemRecord, afterItemRecord));
// 新しく作ったインスタンスの値が変わっているか
Debug.Log(afterItemRecord);

新しいインスタンスが生成され、値が変わっている

記事の続きは下のURLをクリック!

https://rightcode.co.jp/blogs/48337



エンジニア積極採用中です!

現在、WEBエンジニア、モバイルエンジニア、デザイナー、営業などを積極採用中です!

採用ページはこちら:https://rightcode.co.jp/recruit

社員の声や社風などを知りたい方はこちら:https://rightcode.co.jp/blogs?category=life

社長と一杯飲みながらお話しませんか?(転職者向け)

特設ページはこちら: https://rightcode.co.jp/gohan-sake-president-talk

もっとワクワクしたいあなたへ

現在、ライトコードでは「WEBエンジニア」「モバイルエンジニア」「ゲームエンジニア」、「デザイナー」「WEBディレクター」「営業」などを積極採用中です!

ライトコードは技術力に定評のある受託開発をメインにしているIT企業です。

有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。

  • もっと大きなことに挑戦したい!
  • エンジニアとしてもっと成長したい!
  • モダンな技術に触れたい!

現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?

ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。

  • ライトコードの魅力を知っていただきたい!
  • 社風や文化なども知っていただきたい!
  • 技術に対して熱意のある方に入社していただきたい!

一度、【Wantedly内の弊社ページ】や【コーポレートサイト】をのぞいてみてください。

【コーポレートサイト】https://rightcode.co.jp/

【採用募集】https://rightcode.co.jp/recruit(こちらからの応募がスムーズ)

【wantedlyぺージ】https://www.wantedly.com/companies/rightcode

Invitation from 株式会社ライトコード
If this story triggered your interest, have a chat with the team?
株式会社ライトコード's job postings

Weekly ranking

Show other rankings
Like Hiroyuki Choshi's Story
Let Hiroyuki Choshi's company know you're interested in their content