大文字の使用規則Capitalization Conventions

この章のガイドラインでは、一貫して適用されている場合に、型、メンバー、およびパラメーターの識別子を読みやすくするための簡単な方法を説明します。The guidelines in this chapter lay out a simple method for using case that, when applied consistently, make identifiers for types, members, and parameters easy to read.

識別子の大文字小文字の規則Capitalization Rules for Identifiers

識別子内の単語を区別するには、識別子内の各単語の最初の文字を大文字にします。To differentiate words in an identifier, capitalize the first letter of each word in the identifier. 語句を区別するためにアンダースコアを使用したり、識別子内の任意の場所で単語を区別したりしないでください。Do not use underscores to differentiate words, or for that matter, anywhere in identifiers. 識別子の使用方法によっては、次の2つの適切な方法で識別子を大文字にすることができます。There are two appropriate ways to capitalize identifiers, depending on the use of the identifier:

  • パスワードの大文字と小文字の区別PascalCasing

  • キャメルcamelCasing

次の例に示すように、パラメーター名を除くすべての識別子に使用される、文字表記規則は、各単語の最初の文字 (長さが2文字を超える頭字語を含む) を大文字にします。The PascalCasing convention, used for all identifiers except parameter names, capitalizes the first character of each word (including acronyms over two letters in length), as shown in the following examples:

PropertyDescriptor HtmlTag

次の識別子に示されているように、2文字の頭字語では、両方の文字が大文字になります。A special case is made for two-letter acronyms in which both letters are capitalized, as shown in the following identifier:


次の例に示すように、キャメル規則は、パラメーター名に対してのみ使用され、最初の単語を除く各単語の最初の文字を大文字にします。The camelCasing convention, used only for parameter names, capitalizes the first character of each word except the first word, as shown in the following examples. この例に示すように、camel 形式の識別子を開始する2文字の頭字語は両方とも小文字です。As the example also shows, two-letter acronyms that begin a camel-cased identifier are both lowercase.

propertyDescriptor ioStream htmlTag

複数の単語で構成されるすべてのパブリックメンバー、型、名前空間の名前に対しては、文字の大文字と小文字の区別を使用✔️ます。✔️ DO use PascalCasing for all public member, type, and namespace names consisting of multiple words.

パラメーター名にはキャメルを使用します。✔️✔️ DO use camelCasing for parameter names.

次の表では、さまざまな種類の識別子の大文字と小文字の規則について説明します。The following table describes the capitalization rules for different types of identifiers.

識別子Identifier 大文字小文字の区別Casing Example
名前空間Namespace PascalPascal namespace System.Security { ... }
TypeType PascalPascal public class StreamReader { ... }
インターフェイスInterface PascalPascal public interface IEnumerable { ... }
MethodMethod PascalPascal public class Object {
public virtual string ToString();
プロパティProperty PascalPascal public class String {
public int Length { get; }
EventEvent PascalPascal public class Process {
public event EventHandler Exited;
フィールドField PascalPascal public class MessageQueue {
public static readonly TimeSpan
public struct UInt32 {
public const Min = 0;
列挙値Enum value PascalPascal public enum FileMode {
パラメーターParameter CamelCamel public class Convert {
public static int ToInt32(string value);

複合語と一般的な用語を大文字にするCapitalizing Compound Words and Common Terms

ほとんどの複合用語は、大文字と小文字を区別するために1つの単語として扱われます。Most compound terms are treated as single words for purposes of capitalization.

❌いわゆる終了形式の複合単語内の各単語を大文字にしないでください。❌ DO NOT capitalize each word in so-called closed-form compound words.

これらは、エンドポイントなどの1つの単語として記述された複合ワードです。These are compound words written as a single word, such as endpoint. 大文字と小文字のガイドラインのために、閉じた複合ワードを1つの単語として扱います。For the purpose of casing guidelines, treat a closed-form compound word as a single word. 現在のディクショナリを使用して、複合単語が閉じた形式で記述されているかどうかを判断します。Use a current dictionary to determine if a compound word is written in closed form.

PascalPascal CamelCamel NotNot
BitFlag bitFlag Bitflag
Callback callback CallBack
Canceled canceled Cancelled
DoNot doNot Don't
Email email EMail
Endpoint endpoint EndPoint
FileName fileName Filename
Gridline gridline GridLine
Hashtable hashtable HashTable
Id id ID
Indexes indexes Indices
LogOff logOff LogOut
LogOn logOn LogIn
Metadata metadata MetaData, metaData
Multipanel multipanel MultiPanel
Multiview multiview MultiView
Namespace namespace NameSpace
Ok ok OK
Pi pi PI
Placeholder placeholder PlaceHolder
SignIn signIn SignOn
SignOut signOut SignOff
UserName userName Username
WhiteSpace whiteSpace Whitespace
Writable writable Writeable

大文字と小文字の区別Case Sensitivity

CLR で実行できる言語は、大文字と小文字の区別をサポートするためには必要ありません。Languages that can run on the CLR are not required to support case-sensitivity, although some do. お使いの言語でサポートされている場合でも、フレームワークにアクセスする可能性のある他の言語はありません。Even if your language supports it, other languages that might access your framework do not. したがって、外部からアクセスできるすべての Api では、同じコンテキスト内の2つの名前を区別するために大文字と小文字だけを使用することはできません。Any APIs that are externally accessible, therefore, cannot rely on case alone to distinguish between two names in the same context.

❌すべてのプログラミング言語で大文字と小文字が区別されると想定しないでください。❌ DO NOT assume that all programming languages are case sensitive. しかし、そうではありません。They are not. 名前は大文字と小文字のみで異なることはできません。Names cannot differ by case alone.

©2005、2009 Microsoft Corporation の部分。すべての権限が予約されています。Portions © 2005, 2009 Microsoft Corporation. All rights reserved.

2008 年 10 月 22 日に Microsoft Windows Development シリーズの一部として、Addison-Wesley Professional によって発行された、Krzysztof Cwalina および Brad Abrams による「Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition」 (フレームワーク デザイン ガイドライン: 再利用可能な .NET ライブラリの規則、用法、パターン、第 2 版) から Pearson Education, Inc. の許可を得て再印刷されています。Reprinted by permission of Pearson Education, Inc. from Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition by Krzysztof Cwalina and Brad Abrams, published Oct 22, 2008 by Addison-Wesley Professional as part of the Microsoft Windows Development Series.

関連項目See also