1. CamelCase (с маленькой буквы, верблюжья)

Первая буква маленькая, каждое следующее слово начинается с большой.

csharp

string userName; int ageOfPerson; double totalPrice;

Когда использовать:

  • локальные переменные (внутри метода)

  • параметры методов

public void PrintMessage(string userInput)
{
    int itemCount = 10;
    // userInput и itemCount — camelCase
}

2. PascalCase (с большой буквы)

Каждое слово начинается с большой буквы.

class MyClass
{
    public string FullName;
    public int GetAge() { return 0; }
}

Когда использовать (почти всё остальное):

  • названия классов (MyClassUserServiceProgram)

  • названия методов (GetData()CalculateSum()SaveToFile())

  • публичные поля и свойства (UserNameTotalCountIsActive)

  • константы (но иногда их пишут капсом, об этом ниже)

public class UserProfile
{
    public string NickName { get; set; }  // PascalCase
    public int GetUserAge() { return 0; } // PascalCase
}

3. Имя с нижним подчёркиванием _имя

Начинается с подчёркивания + camelCase.

private string _userName;
private int _age;
private List<string> _items;

Когда использовать:

  • приватные поля классов (это НЕ официальное правило Microsoft, но очень популярное соглашение в сообществе C#)
public class User
{
    private string _name;
    private int _score;
    
    public string GetName()
    {
        return _name;
    }
}

Зачем нужно подчёркивание:

  • сразу видно — это внутреннее поле класса, не публичное свойство

  • не путать с локальными переменными в методах

  • избегать конфликта с параметрами

public void SetName(string name)  // параметр name
{
    _name = name;  // поле _name — легко отличить
}

иначе бы пришлось делать так

public void SetName(string name)
{
    this.name = name;  
}

Короткая шпаргалка

Что именуемСтильПример
КлассыPascalCaseMyClassUserService
МетодыPascalCaseGetData()SaveUser()
Публичные свойства/поляPascalCaseUserNameAge
Приватные поля_camelCase_userName_age
Локальные переменныеcamelCaseuserNameage
Параметры методовcamelCasestring inputint count
КонстантыPascalCase (иногда UPPER_CASE)MaxCountPi

Запоминалка для тебя

Классы, методы, свойства публичные — с большой (PascalCase)

Переменные внутри методов, параметры — с маленькой (camelCase)

Приватные поля класса — с подчёркивания и маленькой (_camelCase)


Весь пример в одном месте

public class User           // класс — PascalCase
{
    private string _name;   // приватное поле — _camelCase
    private int _age;
    
    public string Name       // публичное свойство — PascalCase
    {
        get { return _name; }
    }
    
    public void SetData(string name, int age)  // метод — PascalCase
    {                                           // параметры — camelCase
        _name = name;
        _age = age;
        
        string localMessage = "OK";  // локальная переменная — camelCase
        Console.WriteLine(localMessage);
    }
}

Всё просто. Глаз быстро привыкает, и ты начнёшь замечать, кто нарушает эти правила ))

Built with LogoFlowershow