Содержание
- 2. Структуры Структура – это значимый тип данных, экземпляр структуры размещается в стеке, а не в динамической
- 3. Правила описания структур: Структуры не могут участвовать в иерархиях наследования, но может реализовывать интерфейсы ( однако,
- 4. Нельзя задавать значения полей по умолчанию. Например, struct Student { public string fam; public string dat_r;
- 5. Объект структуры можно создать с помощью операции new, подобно любому объекту класса: = new ( );
- 6. Можно объявить структуру, не используя new: ; В этом случае придется выполнить инициализацию вручную. Например, Student
- 7. struct MyStruct { public int x; } public static void Main( ) { MyStruct a; MyStruct
- 8. Результаты: а .х 10, b.x 20 a .x 20, b.x 30 Если бы a и b
- 9. Благодаря прямому доступу к структурам, при работе с ними не снижается производительность, что имеет место при
- 10. В пространстве имен System определены такие структуры: Boolean DateTime Int64 UInt64 Byte Decimal Intl6 Single UIntl6
- 11. Перечисления Перечисление (enumeration) — это множество именованных целочисленных констант. Синтаксис перечисления: [спецификаторы] enum [: базовый тип]
- 12. Тело перечисления состоит из имен констант, которым может быть присвоено значение, разделенных запятыми. По умолчанию константам
- 13. Например, дополним структуру студент: double[ ] x; // поле с оценками за сессию public enum Экзамен
- 14. Student St2 = new Student("Иванов","12.03.87",200); St2[Student.Экзамен.Математика] = 9; St2[Student.Экзамен.Физика] = 10; Console.WriteLine(Student.Экзамен.Физика + "....." + St2[Student.Экзамен.Физика]);
- 15. С переменными перечисляемого типа можно выполнять арифметические операции, логические поразрядные операции, сравнивать их с помощью операций
- 16. Все перечисления являются потомками базового класса System.Enum. Приведем описание некоторых методов этого класса: Статический метод GetName(Type
- 17. Статический метод GetNames(Type t) возвращает строковый массив из имен констант, составляющих перечисление. Например, пусть имеется перечисление
- 18. Статический метод GetValues(Type t) возвращает массив значений констант, составляющих перечисление. Результат имеет тип Array. Например, выполнение
- 19. Статический метод IsDefined(Type t, object v ) возвращает значение true, если параметр v содержит значение константы,
- 20. Статический метод Enum.Parse(Type t, string s) конвертирует строку, представляющую имя константы из перечисления типа t или
- 21. Можно так: KodTovara tovar1 = (KodTovara) 104; Переменной перечисляемого типа можно присвоить не только одно из
- 22. В пространстве имен System определены стандартные перечисления ConsoleColor и ConsoleKey. ConsoleColor содержит константы, определяющие цвет выводимых
- 23. Перечисление ConsoleKey содержит константы для определения стандартных клавиш. Например: ConsoleKey.Enter, ConsoleKey.PageUp Используется для определения, какая была
- 24. ConsoleKeyInfo k = Console.ReadKey( ); if (k.Key = = ConsoleKey.Home) Console.WriteLine(" Нажата клавиша Home "); else
- 25. Пример. Подготовить текстовый файл, содержащий информацию о студентах: фамилия и инициалы, факультет, дата рождения, средний балл
- 26. Выбор факультета должен осуществляться посредством меню (Все названия факультетов из перечисления выводятся на экран, и пользователь
- 27. Факультет: ЭФ Факультет: ФАИС
- 28. Если информации по какому-то факультету нет, в файл записывается заголовок с факультетом и вместо таблицы фраза
- 29. struct Student : IComparable { public string fam; public Facultet fcltt; public string dat_r; public double
- 30. public int CompareTo(Object obj) { Student st = ( Student) obj ; if (vozrast > st.vozrast)
- 31. StreamReader f = new StreamReader("baza.dat"); string s = f.ReadLine( ); int j = 0; while (s
- 32. string[ ] dano=new string[4]; f = new StreamReader("baza.dat"); s = f.ReadLine( ); j = 0; while
- 33. students[j].dat_r = dano[2]; students[j].sr_ball = Convert.ToDouble(dano[3]); s = f.ReadLine( ); j++; } f.Close( ); string[ ]
- 34. for (int i = 0; i bool ff = true; while (ff) {Console.ForegroundColor = ConsoleColor.Gray; if
- 35. Console.SetCursorPosition(0, F.Length); ConsoleKeyInfo k = Console.ReadKey(); if (v = = -1) p = 0; else p
- 36. Console.SetCursorPosition(0, v); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(F[v]); } else v = -1; } } if (v !=
- 37. // шапка таблицы….. j=0; for (int i = 0; i { if (Enum.GetName(typeof(Facultet), students[i].fcltt) == F[v])
- 38. else Console.WriteLine(" Факультет не выбран "); Array.Sort(students); Console.ReadKey( ); StreamWriter f1 = new StreamWriter("baza1.txt"); for (int
- 39. for (int i = 0; i { if (students[i].fcltt.ToString( ) = = F[ii]) { if (q
- 41. Скачать презентацию