<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>C# on カネコチ開発</title>
        <link>https://kanekochi.com/categories/c%23/</link>
        <description>Recent content in C# on カネコチ開発</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <copyright>カネコチ</copyright>
        <lastBuildDate>Sun, 03 Sep 2023 06:51:38 +0000</lastBuildDate><atom:link href="https://kanekochi.com/categories/c%23/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Stringはプリミティブ型である。【Angular】【C#】</title>
        <link>https://kanekochi.com/string%E3%81%AF%E3%83%97%E3%83%AA%E3%83%9F%E3%83%86%E3%82%A3%E3%83%96%E5%9E%8B%E3%81%A7%E3%81%82%E3%82%8B%E3%80%82%E3%80%90angular%E3%80%91%E3%80%90c%E3%80%91.html</link>
        <pubDate>Sun, 03 Sep 2023 06:51:38 +0000</pubDate>
        
        <guid>https://kanekochi.com/string%E3%81%AF%E3%83%97%E3%83%AA%E3%83%9F%E3%83%86%E3%82%A3%E3%83%96%E5%9E%8B%E3%81%A7%E3%81%82%E3%82%8B%E3%80%82%E3%80%90angular%E3%80%91%E3%80%90c%E3%80%91.html</guid>
        <description>&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Angular の String はプリミティブ型ということを&lt;/p&gt;
&lt;p&gt;最近知ったので、内容をまとめていきます。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div id=&#34;toc_container&#34; class=&#34;toc_white no_bullets&#34;&gt;
  &lt;p class=&#34;toc_title&#34;&gt;
    目次
  &lt;/p&gt;
  &lt;ul class=&#34;toc_list&#34;&gt;
    &lt;li&gt;
      &lt;a href=&#34;#i&#34;&gt;２つの型&lt;/a&gt;
    &lt;/li&gt;
    &lt;li&gt;
      &lt;a href=&#34;#CAngular&#34;&gt;C#とAngularで勘違いしてた&lt;/a&gt;
    &lt;/li&gt;
    &lt;li&gt;
      &lt;a href=&#34;#AngularString&#34;&gt;なぜ、AngularのString型を調べたのか&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id=&#34;span-idi２つの型span&#34;&gt;&lt;span id=&#34;i&#34;&gt;２つの型&lt;/span&gt;
&lt;/h2&gt;&lt;p&gt;まず、Angular というか TypeScript には、２つの型があります。以下、Angular で話を進めます。&lt;/p&gt;
&lt;p&gt;プリミティブ型は値をそのまま保持している。&lt;/p&gt;
&lt;p&gt;オブジェクト型は値の参照先を保持している。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;例えるならば、&lt;/p&gt;
&lt;p&gt;1.ノート（変数）に貯金額の１０万円を記載する＝プリミティブ型であり、&lt;/p&gt;
&lt;p&gt;2.ノート（変数）に１０万円入っている銀行の口座情報を記載する＝オブジェクト型のようなイメージ？&lt;/p&gt;
&lt;p&gt;もう一度上記を別のノート（変数）に記載したときに、1 はどちらも独立している為、&lt;/p&gt;
&lt;p&gt;消しゴムでそれぞれ違う金額に書き直せる。&lt;/p&gt;
&lt;p&gt;２は、口座の金額を書き換えると参照先が同じなので、どちらも同じ金額になる。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2 id=&#34;span-idcangularcと-angular-で勘違いしてたspan&#34;&gt;&lt;span id=&#34;CAngular&#34;&gt;C#と Angular で勘違いしてた&lt;/span&gt;
&lt;/h2&gt;&lt;p&gt;C#では String 型は参照型（オブジェクト型）であった為、&lt;/p&gt;
&lt;p&gt;Angular でも参照型と勘違いしていました。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;調べてみると C#の String 型が参照型であることが、イレギュラーな認識？であるというのが多いようです。&lt;/p&gt;
&lt;p&gt;というのも、C#の String は値型のように振る舞う参照型なのです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-C#&#34; data-lang=&#34;C#&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;あ&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;b&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;い”;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;上記のようにした時に、変数 b には”あ”が入っている。&lt;/p&gt;
&lt;p&gt;値型やんと思ってしまいますよね。&lt;/p&gt;
&lt;p&gt;実際には、参照先のアドレスが変数を作成する度に、&lt;/p&gt;
&lt;p&gt;新規で作成される為、上記のような動きになるようです。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Angular も裏の動きでは C#と同じように動いているのかなー。&lt;/p&gt;
&lt;p&gt;不変性のある型をプリミティブ型という枠として TypeScript では呼んでるのかな。&lt;/p&gt;
&lt;p&gt;よくわからん。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2 id=&#34;span-idangularstringなぜangular-の-string-型を調べたのかspan&#34;&gt;&lt;span id=&#34;AngularString&#34;&gt;なぜ、Angular の String 型を調べたのか&lt;/span&gt;
&lt;/h2&gt;&lt;p&gt;Angular にて input のテキストボックス３つを ngfor で作成しました。&lt;/p&gt;
&lt;p&gt;その際に、String の配列で初期値を空で作成した所、&lt;/p&gt;
&lt;p&gt;初期入力時に、３つのテキストボックス全てに入力した値が入る事態が発生しました。&lt;/p&gt;
&lt;p&gt;（それ以外にも、１文字しか入力できないとか、一つ目に入力した値が２つ目に入るとか）&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;String の配列ではなく、Object の配列にすることで解消しました。&lt;/p&gt;
&lt;p&gt;原因は分からずじまいです。&lt;/p&gt;
&lt;p&gt;String 型がプリミティブ型であり、初期値も空で同じであった為、&lt;/p&gt;
&lt;p&gt;コントロールに相違がなく、全て同じコントロールとみなされていたのでしょうか。&lt;/p&gt;
&lt;p&gt;Object にすることで、参照先がそれぞれ変わる為、別の値とみなされて解決したのか？という感じです。&lt;/p&gt;
&lt;p&gt;いやーわからん。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>バッキングフィールドとはなんや【C#】</title>
        <link>https://kanekochi.com/%E3%83%90%E3%83%83%E3%82%AD%E3%83%B3%E3%82%B0%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%A8%E3%81%AF%E3%81%AA%E3%82%93%E3%82%84%E3%80%90c%E3%80%91.html</link>
        <pubDate>Wed, 16 Aug 2023 12:07:56 +0000</pubDate>
        
        <guid>https://kanekochi.com/%E3%83%90%E3%83%83%E3%82%AD%E3%83%B3%E3%82%B0%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%A8%E3%81%AF%E3%81%AA%E3%82%93%E3%82%84%E3%80%90c%E3%80%91.html</guid>
        <description>&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;最近、C#にてバッキングフィールドという単語を知ったので、&lt;/p&gt;
&lt;p&gt;内容について調べて、まとめたいと思います。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div id=&#34;toc_container&#34; class=&#34;toc_white no_bullets&#34;&gt;
  &lt;p class=&#34;toc_title&#34;&gt;
    目次
  &lt;/p&gt;
  &lt;ul class=&#34;toc_list&#34;&gt;
    &lt;li&gt;
      &lt;a href=&#34;#Backing&#34;&gt;Backingの意味は「補助」&lt;/a&gt;
    &lt;/li&gt;
    &lt;li&gt;
      &lt;a href=&#34;#i&#34;&gt;自動生成プロパティの省略箇所＝バッキングフィールド&lt;/a&gt;
    &lt;/li&gt;
    &lt;li&gt;
      &lt;a href=&#34;#i-2&#34;&gt;実際に使った時のこと&lt;/a&gt;
    &lt;/li&gt;
    &lt;li&gt;
      &lt;a href=&#34;#i-3&#34;&gt;その他調べたこと&lt;/a&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id=&#34;span-idbackingbacking-の意味は補助span&#34;&gt;&lt;span id=&#34;Backing&#34;&gt;Backing の意味は「補助」&lt;/span&gt;
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://eow.alc.co.jp/search?q=backing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;backing&lt;/a&gt;は補助とか伴奏という意味みたいですね。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;援助、後援、支援、支持&lt;/p&gt;
&lt;p&gt;〔集合的に〕支持者、後援者&lt;/p&gt;
&lt;p&gt;〔本などの〕裏張り、裏打ち、裏当て&lt;/p&gt;
&lt;p&gt;〔ポピュラー音楽の〕伴奏、バック&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2 id=&#34;span-idi自動生成プロパティの省略箇所バッキングフィールドspan&#34;&gt;&lt;span id=&#34;i&#34;&gt;自動生成プロパティの省略箇所＝バッキングフィールド&lt;/span&gt;
&lt;/h2&gt;&lt;p&gt;下記のような、ゲッターセッターをもつ、自動生成プロパティがあるときに、&lt;/p&gt;
&lt;p&gt;（C#3.0 から出来るようになった。）&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Hoge&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;実際には、値を一旦格納するフィールド変数を上記プロパティは持っていて、&lt;/p&gt;
&lt;p&gt;下記のようなコードになっています。&lt;/p&gt;
&lt;p&gt;そして、その値を一旦格納するフィールド変数こそがバッキングフィールドです。&lt;/p&gt;
&lt;p&gt;（プロパティの補助的な立ち位置なので、backing なのかな。）&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-C#&#34; data-lang=&#34;C#&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;private&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;long&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hoge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// ここがバッキングフィールドです。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;long&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Hoge&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;get&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  　　&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hoge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hoge&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt; &lt;/p&gt;
&lt;h2 id=&#34;span-idi-2実際に使った時のことspan&#34;&gt;&lt;span id=&#34;i-2&#34;&gt;実際に使った時のこと&lt;/span&gt;
&lt;/h2&gt;&lt;p&gt;業務の中で上記、バッキングフィールドを利用した事例としては、&lt;/p&gt;
&lt;p&gt;API のリクエスト値用のクラスがあり、そのプロパティの中に IEnumrable&lt;long&gt;型がありました。&lt;/p&gt;
&lt;p&gt;リクエスト値用のクラスを初期化した際に、&lt;/p&gt;
&lt;p&gt;上記は参照型であるため Null が初期値として入ります。&lt;/p&gt;
&lt;p&gt;Null ではなく、空の配列を初期値として設定する為、&lt;/p&gt;
&lt;p&gt;バッキングフィールドに対して空の配列を設定する修正をしました。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-C#&#34; data-lang=&#34;C#&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;private&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;IEnumerable&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;hoge&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Enumerable&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Empty&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// 空の配列をバッキングフィールドに指定&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;IEnumerable&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Hoge&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;get&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  　　 &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hoge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hoge&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt; &lt;/p&gt;
&lt;h2 id=&#34;span-idi-3その他調べたことspan&#34;&gt;&lt;span id=&#34;i-3&#34;&gt;その他調べたこと&lt;/span&gt;
&lt;/h2&gt;&lt;p&gt;他に調査の中で見つけたもの。内容については、あまりわかっていない。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;C# 7.3 から自動実装プロパティのバッキングフィールドに属性をつけられるようになった&lt;/li&gt;
&lt;li&gt;_hoge のようにアンダーバーとプロパティ名をつけるとバッキングフィールドと見なされる。&lt;/li&gt;
&lt;li&gt;&lt;span style=&#34;color: #339966;&#34;&gt;&lt;a style=&#34;color: #339966;&#34; href=&#34;https://learn.microsoft.com/ja-jp/ef/core/modeling/backing-field?tabs=data-annotations&#34;&gt;Entity Framework (EF) Core で DB の値を格納するときに、プロパティもしくはフィールド名どちらでも一致できるようにしている？&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
