namespace NoNamespace.Task020 { static class Program { //В методе Main()
//7. Присвоить значения всем определенным в типе Student свойствам, преобразовать данные в текстовый вид с метода ToString() и вывести данные. метода AddExams(params Exam[] ) добавить элементы в список экзаменов и вывести данные объекта Student, используя метод ToString(). public static void Main() { //5. Создать один объект типа Student, преобразовать данные в текстовый вид с метода ToShortString() и вывести данные. var s = new Student( new Person("Орк", "Рыжий", new DateTime(2000, 2, 2)), Education.SecondEducation, 21 ); Console.WriteLine(s.ToShortString()); Console.WriteLine("");
//6. Вывести значения индексатора для значений индекса Education.Specialist, Education.Bachelor и Education.SecondEducation. foreach (Education element in Enum.GetValues(typeof(Education))) Console.WriteLine($"{element} = {s[element]}");
Console.WriteLine("");
Console.WriteLine(s); Console.WriteLine("");
s.AddExams( new Exam("Плевание в потолок", 2, new DateTime(2005, 2, 2)), new Exam("Поедание конфет", 3, new DateTime(2005, 2, 2)), new Exam("Разбивание черепа врага", 10, new DateTime(2005, 2, 2)), new Exam("Сквернословие", 12, new DateTime(2005, 2, 2)), new Exam("", 3, new DateTime(2005, 2, 2)));
Console.WriteLine(s); Console.WriteLine("");
Console.ReadLine(); } }
public class Person { public string Name { get; set; } // · закрытое поле типа string, в котором хранится имя; Использовано autoproperty public string Surname { get; set; } // · закрытое поле типа string, в котором хранится фамилия;Использовано autoproperty public DateTime Birthday { get; set; } // · закрытое поле типа System.DateTime для даты рождения.Использовано autoproperty
public int BirthYear // · свойство типа int c методами get и set для получения информации(get) и изменения(set) года рождения в закрытом поле типа DateTime, в котором хранится дата рождения. { get => this.Birthday.Year; set => this.Birthday = new DateTime(value, this.Birthday.Month, this.Birthday.Day); }
public Person(string name, string surname, DateTime birthday) // · конструктор c тремя параметрами типа string, string, DateTime для инициализации всех полей класса; { this.Name = name; this.Surname = surname; this.Birthday = birthday; }
public Person() // · конструктор без параметров, инициализирующий все поля класса некоторыми значениями по умолчанию. { this.Name = "Вася"; this.Surname = "Пупкин"; this.Birthday = new DateTime(2000, 1, 1); }
// · перегруженную(override) версию виртуального метода string ToString() для формирования строки со значениями всех полей класса; public override string ToString() => $"{this.Name} {this.Surname} [{this.Birthday:dd.MM.yy}]";
//· виртуальный метод string ToShortString(), который возвращает строку, содержащую только имя и фамилию. public virtual string ToShortString() => $"{this.Name} {this.Surname}"; }
public enum Education //Определить тип Education - перечисление(enum) со значениями Specialist, Вachelor, SecondEducation. { Specialist, Вachelor, SecondEducation }
public class Exam //Определить класс Exam, который имеет три открытых автореализуемых свойства, доступных для чтения и записи: { public string Subject { get; set; } //· свойство типа string, в котором хранится название предмета; public int Mark { get; set; } //· свойство типа int, в котором хранится оценка; public DateTime Date { get; set; } //· свойство типа System.DateTime для даты экзамена.
public Exam(string subject, int mark, DateTime date) //· конструктор с параметрами типа string, int и DateTime для инициализации всех свойств класса; { this.Subject = subject; this.Mark = mark; this.Date = date; }
public Exam() //· конструктор без параметров, инициализирующий все свойства класса некоторыми значениями по умолчанию; { this.Date = new DateTime(2000, 1, 1); }
//· перегруженную(override) версию виртуального метода string ToString() для формирования строки со значениями всех свойств класса. public override string ToString() => $"{this.Subject} [{this.Date:dd.MM.yy}] = {this.Mark} "; } }
using System.IO;
internal class Program
{
public const string FILE = "test.txt";
private static void Main()
{
try
{
using (var sr = File.OpenText(FILE))
{
string line;
for (var i = 0; (line = sr.ReadLine()) != null; i++)
{
if (!string.IsNullOrWhiteSpace(line) && line.Trim()[0] == 'т')
{
Console.WriteLine($"Строка {i} = {line}");
break;
}
}
}
}
catch(Exception e)
{
Console.WriteLine(e);
}
finally
{
Console.ReadLine();
}
}
}
namespace NoNamespace.Task020
{
static class Program
{
//В методе Main()
//7. Присвоить значения всем определенным в типе Student свойствам, преобразовать данные в текстовый вид с метода ToString() и вывести данные.
метода AddExams(params Exam[] ) добавить элементы в список экзаменов и вывести данные объекта Student, используя метод ToString().
public static void Main()
{
//5. Создать один объект типа Student, преобразовать данные в текстовый вид с метода ToShortString() и вывести данные.
var s = new Student(
new Person("Орк", "Рыжий", new DateTime(2000, 2, 2)),
Education.SecondEducation,
21
);
Console.WriteLine(s.ToShortString());
Console.WriteLine("");
//6. Вывести значения индексатора для значений индекса Education.Specialist, Education.Bachelor и Education.SecondEducation.
foreach (Education element in Enum.GetValues(typeof(Education)))
Console.WriteLine($"{element} = {s[element]}");
Console.WriteLine("");
Console.WriteLine(s);
Console.WriteLine("");
s.AddExams(
new Exam("Плевание в потолок", 2, new DateTime(2005, 2, 2)),
new Exam("Поедание конфет", 3, new DateTime(2005, 2, 2)),
new Exam("Разбивание черепа врага", 10, new DateTime(2005, 2, 2)),
new Exam("Сквернословие", 12, new DateTime(2005, 2, 2)),
new Exam("", 3, new DateTime(2005, 2, 2)));
Console.WriteLine(s);
Console.WriteLine("");
Console.ReadLine();
}
}
public class Person
{
public string Name { get; set; } // · закрытое поле типа string, в котором хранится имя; Использовано autoproperty
public string Surname { get; set; } // · закрытое поле типа string, в котором хранится фамилия;Использовано autoproperty
public DateTime Birthday { get; set; } // · закрытое поле типа System.DateTime для даты рождения.Использовано autoproperty
public int BirthYear // · свойство типа int c методами get и set для получения информации(get) и изменения(set) года рождения в закрытом поле типа DateTime, в котором хранится дата рождения.
{
get => this.Birthday.Year;
set => this.Birthday = new DateTime(value, this.Birthday.Month, this.Birthday.Day);
}
public Person(string name, string surname, DateTime birthday) // · конструктор c тремя параметрами типа string, string, DateTime для инициализации всех полей класса;
{
this.Name = name;
this.Surname = surname;
this.Birthday = birthday;
}
public Person() // · конструктор без параметров, инициализирующий все поля класса некоторыми значениями по умолчанию.
{
this.Name = "Вася";
this.Surname = "Пупкин";
this.Birthday = new DateTime(2000, 1, 1);
}
// · перегруженную(override) версию виртуального метода string ToString() для формирования строки со значениями всех полей класса;
public override string ToString() => $"{this.Name} {this.Surname} [{this.Birthday:dd.MM.yy}]";
//· виртуальный метод string ToShortString(), который возвращает строку, содержащую только имя и фамилию.
public virtual string ToShortString() => $"{this.Name} {this.Surname}";
}
public enum Education //Определить тип Education - перечисление(enum) со значениями Specialist, Вachelor, SecondEducation.
{
Specialist,
Вachelor,
SecondEducation
}
public class Exam //Определить класс Exam, который имеет три открытых автореализуемых свойства, доступных для чтения и записи:
{
public string Subject { get; set; } //· свойство типа string, в котором хранится название предмета;
public int Mark { get; set; } //· свойство типа int, в котором хранится оценка;
public DateTime Date { get; set; } //· свойство типа System.DateTime для даты экзамена.
public Exam(string subject, int mark, DateTime date) //· конструктор с параметрами типа string, int и DateTime для инициализации всех свойств класса;
{
this.Subject = subject;
this.Mark = mark;
this.Date = date;
}
public Exam() //· конструктор без параметров, инициализирующий все свойства класса некоторыми значениями по умолчанию;
{
this.Date = new DateTime(2000, 1, 1);
}
//· перегруженную(override) версию виртуального метода string ToString() для формирования строки со значениями всех свойств класса.
public override string ToString() => $"{this.Subject} [{this.Date:dd.MM.yy}] = {this.Mark} ";
}
}