1. ホーム
  2. c#

[解決済み] 命名規則 - C++およびC#の変数にアンダースコア

2022-04-23 09:45:38

質問

よくあるのが _var という変数名をクラスフィールドで使用します。アンダースコアは何を意味するのでしょうか?これらの特殊な命名規則についてのリファレンスはあるのでしょうか?

どのように解決するのですか?

アンダースコアは単なる慣習であり、それ以上のものではありません。そのため、その使い方は常に人によって多少異なる。ここでは、問題の2つの言語について、私が理解する方法を説明します。

C++では、アンダースコアは通常、プライベートなメンバ変数を示す。

C#では、通常、パブリックプロパティの基礎となるプライベートメンバー変数を定義するときにのみ使用されるのを見かけます。他のプライベート変数にはアンダースコアは付きません。しかし、この使い方は、自動プロパティの登場により、ほとんど使われなくなった。

以前は

private string _name;
public string Name
{
    get { return this._name; }
    set { this._name = value; }
}

後です。

public string Name { get; set; }