Looking for .net Keywords? Try Ask4Keywords

.NET Framework Определение класса


пример

Классы, наследуемые от System.Object, являются ссылочными типами и живут в куче. Когда ссылочные типы передаются в качестве параметра, они передаются по ссылке.

public Class MyClass
{
    public int a;
    public int b;
}

Передано по ссылке означает, что ссылка на параметр передается методу, и любые изменения параметра будут отражаться вне метода, когда он вернется, потому что ссылка относится к одному и тому же объекту в памяти . Давайте используем тот же пример, что и раньше, но сначала будем «обертывать» int s в классе.

MyClass instanceOfMyClass = new MyClass();
instanceOfMyClass.a = 5;
instanceOfMyClass.b = 6;

AddNumbers(instanceOfMyClass);

public AddNumbers(MyClass sample)
{
    int z = sample.a + sample.b; // z becomes 11
    sample.a = sample.a + 5; // now we changed a to be 10
    z = sample.a + sample.b; // now z becomes 16
} 

На этот раз, когда мы изменили sample.a на 10 , значение instanceOfMyClass.a также изменяется, потому что оно было передано по ссылке . Передано ссылкой означает, что ссылка (также иногда называемая указателем ) на объект передавалась в метод вместо копии самого объекта.

Помните, что типы ссылок живут в куче и передаются по ссылке.