Guest User

6.Други типове

a guest
Dec 18th, 2015
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. Други типове
  2. Енумерации – пазят съвкупност от константи
  3. public enum DayOfWeek
  4. {
  5. Mon,
  6. Tue,
  7. Wed…
  8. }
  9.  
  10. Structures
  11. - Структурите са стойностен тип данни
  12. - Много подобни на класовете
  13. - Пазят се в stack-а
  14. - Заемат по-малко памет от класовете
  15. - Добре е да се използват когато трябва да пазим голямо количество обекти
  16. - Използват се най-вече за да пазят някакви данни
  17. - Не могат да се наследяват
  18. - Попринцип не съдържат логика в себе си
  19. Структурите се копират по стойност, а класовете по референция
  20. Когато подаваме променлива от стойностен тип на даден метод, ние подаваме копие на дадената променлива
  21.  
  22.  
  23. dynamic contact = new ExpandoObject();
  24. ExpandoObject дава възможността да се добавят дадени property-та runtime
  25.  
  26. Разликата между object и dynamic е че object е строго типизиран , а dynamic се estimate-в runtime. Например ако кажем:
  27. object someVariable = new object();
  28. object.Name = “Pesho”;
  29. програмта ще гръмне compile time, тъй като object се estimate-ва веднага. А ако кажем:
  30. dynamic someVariable = 5;
  31. someVariable.Name = “Pesho”;
  32. програмата ще се компилира и ще се стартира, но ще гръмне чак runtime
  33.  
  34. При generic класовете ако искаме да кажем че типът T може да се сравнява, слагаме where clause-ата:
  35. public class GenericList<T> where T: IComparable<T>
  36. {
  37. …
  38. }
  39.  
  40. Attributes – декларативни тагове, които носят в себе си информация. Носят в себе си данни за данните (мета данни). Може да бъдат access-вани runtime.
  41. Атрибутите за разлика от коментарите се запазват в exe-то. Ние можем да ги достъпваме и да извличаме информация от тях
Advertisement
Add Comment
Please, Sign In to add comment