За разлика от някои езици за програмиране, 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] е Опаковка
Свързани статии