ПредишенСледващото

За разлика от някои езици за програмиране, C # има два вида типове данни: стойност и справки. Ако производителността на приложенията е от съществено значение, или имат интерес от това как C # управлява данните и памет, важно е да се знае, разликите между тези видове.

Видът съхранява съдържанието му в паметта, разпределени в стека. Например, стойността 42 в този случай се съхраняват в зона с памет се нарича пакет.

Когато изхода на променлива х от обхвата при завършване на изпълнението на метода, по който е бил обявен, стойността се изтрива от тестето.

Използването на стека е ефикасна, но ограничени видове живот стойност ги прави по-малко подходящ за споделяне на данни между различни класове.

За разлика от този тип достъп, като например клас или решетка се намира в друга област от паметта, наречена купчина. В следващия пример, необходима за масив от десет числа пространство, се намира в купчината.

INT [] номера = ново междинно съединение [10];

Бокс и Unboxing

INT I = 67; // и е вид стойност

обект о = I; // и се опаковка

System.Console.WriteLine (i.ToString ()); // и се опаковка

Вие ще се сблъскате Unboxing когато използвате класове предназначени за използване с предмети: например, с помощта на ArrayList да съхранява числа. При запазване на цяло число в ArrayList, той е опакован. Когато стигнат до цяло число, то трябва да бъде Без Опаковка.

нов System.Collections.ArrayList (); // списък е препратка вид

Int п = 67; // п е тип стойност

list.Add (п); // п е опаковка

п = (междинно съединение) списък [0]; // списък [0] е Опаковка

Опаковки и разопаковане

Опаковка тип, наречен стойност процес на преобразуване на референтен тип. За опаковане на променлива трябва да създадете препратка променлива, която сочи към ново копие на куп. Референтният променлива е обект, следователно, всички методи, които са наследени от всеки обект, например ToString () могат да бъдат използвани за това. Следният код показва как това се случва.

INT I = 67; // и е вид стойност

обект о = I; // и се опаковка

System.Console.WriteLine (i.ToString ()); // и се опаковка

Разопаковане се използва за класовете, предназначени за работа с обекти: например ArrayList използване за съхранение на числа. За съхранение на числа в ArrayList използва опаковката. При отстраняване цяло число да се прилага разопаковане.

нов System.Collections.ArrayList (); // списък е препратка вид

Int п = 67; // п е тип стойност

list.Add (п); // п е опаковка

п = (междинно съединение) списък [0]; // списък [0] е Опаковка

Свързани статии

Подкрепете проекта - споделете линка, благодаря!