6

私は最近 C# を使い始めましたが、変数はメソッドと共に大文字で始まるという規則のように思われることに気付きました。

これはこれを行う唯一の言語ですか、それはなぜですか? 例えば:

Page Page = new Page();
Page.Action(); 

他の言語では、代わりに次のように表示されます。

Page page = new Page();
page.action();

UML、Ruby、C++、および Java で多くの作業を行ってきたので、混乱を招く例が他にもあります。

私の質問は、他の言語では行われないのに、なぜ C# ではこのようにするのでしょうか?

編集

他のスタック オーバーフロー ユーザーは、C# がこの規則に従っていないことに気付いています。これは私のミスでした。

4

8 に答える 8

23

実際には違います。C# の規則は、キャメルケースの変数 (およびフィールド) 名と PascalCase メソッドです。

Page page = new Page();
page.Action();
于 2009-04-29T15:18:10.267 に答える
10

いいえ、これはかなり非標準の C# コードです。セクション 2.6 の .Net Framework 設計ガイドラインでは、ローカル変数名にキャメル ケースを使用することを推奨しています。

于 2009-04-29T15:19:38.110 に答える
7

パブリック メンバーは を使用しPascalCase、プライベート メンバーは を使用しますcamelCase

これにより、どのメソッドがクラスをサポートしているか、どのメソッドがクラスを定義しているかが明確になると思います。

public class Foo
{
    private Bar bar;
    public Bar Bar { get; set; }

    public void DoFoo()
    {
        makeFoo();
    }

    private void makeFoo()
    {
    }
}
于 2009-04-29T15:20:07.063 に答える
2

次の2つのツールを使用すると、採用する必要のある規則について多くのことを知ることができます。

FxCop:http ://msdn.microsoft.com/en-us/library/bb429476(VS.80).aspx

StyleCop:http ://code.msdn.microsoft.com/sourceanalysis

于 2009-04-29T15:25:07.410 に答える
2

私が作成または使用した C# 規則のすべてのセットは、変数のキャメル ケースを指定するため、次のようになります。

Page page = new Page();
MyClass myClass = new MyClass();

Pascal のケースがどこで使用されているかはわかりませんが、C# に固有のものでも標準的なものでもないことは確かです。

于 2009-04-29T15:18:50.733 に答える
2

通常、C# の変数は大文字で始まりません (ただし、これは明らかに開発者自身の実装次第です)。おそらく混乱しているのは、Propertyの概念です。C# のプロパティは、変数のように構文的に使用されますが (関数のように実行されるだけでなく、取得または割り当てが可能であるという点で)、両方の操作でビジネス ロジックをカプセル化できます。

ただし、質問のより広い部分に答えるために、プロパティとメソッド/関数の両方は、通常、 Microsoft のガイドラインに従って大文字で始まります。

于 2009-04-29T15:19:09.267 に答える
2

PascalCase は、.NET よりずっと前に Microsoft での規則でした。(Win32 API などで)

規則は、単一の環境内で使用することにも意味があります。.NET はそれ自体が包括的な環境であり、Microsoft は別の企業であるため、他の誰かの環境を採用しても意味がありません。

また、UML に命名規則があるかどうか、または UML に命名規則があるという考えでさえ意味があるかどうか、私は強く疑っています。UML はソフトウェアをモデル化し、そのソフトウェアの規則に従う必要があります。

于 2009-04-29T15:21:09.650 に答える
2

Public = PascalCase、プライベート フィールドとパラメーター引数にはキャメルケースのみを使用する傾向があります。

Google で簡単に検索できますが、このコーディング標準を読んでください。始めるのに悪い場所ではありません。

于 2009-04-29T15:23:17.180 に答える