Понимание разницы между статическими и нестатическими членами в C#

В C# термины «статический» и «нестатический» используются для описания различных типов членов класса. Вот различия между статическими и нестатическими членами в C#:

  1. Статические участники:

    • Статические члены принадлежат самому типу, а не конкретным экземплярам типа.
    • Они используются всеми экземплярами класса.
    • Доступ к статическим членам можно получить напрямую, используя имя класса, без создания экземпляра класса.
    • Примеры статических членов включают статические поля, статические методы и статические свойства.
  2. Нестатические участники:

    • Нестатические члены связаны с отдельными экземплярами класса.
    • Каждый экземпляр класса имеет собственную копию нестатических членов.
    • Доступ к нестатическим членам возможен только через экземпляр класса.
    • Примеры нестатических элементов включают поля экземпляра, методы экземпляра и свойства экземпляра.

Методы:

  1. Статический метод:

    public class MyClass
    {
    public static void StaticMethod()
    {
        // Code for static method
    }
    }

    Статические методы можно вызывать напрямую, используя имя класса, без создания экземпляра класса:

    MyClass.StaticMethod();
  2. Нестатический метод:

    public class MyClass
    {
    public void NonStaticMethod()
    {
        // Code for non-static method
    }
    }

    Нестатические методы можно вызывать только через экземпляр класса:

    MyClass myObject = new MyClass();
    myObject.NonStaticMethod();