private void Button_Click_1(object sender, RoutedEventArgs e) { firms.PutVariousValuesToOneArray(firms.mobilePhones, firms.radioPhones); var sorted = firms.PutVariousValuesToOneArray(firms.mobilePhones, firms.radioPhones).OrderBy(p => p.Price); textBox1.Clear(); int totalPrice = 0; using (StreamWriter sw = new StreamWriter(@"C:\Users\Odmen\Desktop\New.txt", false, Encoding.Default)) { foreach (var a in sorted) { if (a.Name.Contains("Mobile")) { MobilePhone i = (MobilePhone)a; textBox1.AppendText($"Name: {i.Name} Firm: {i.Firm} Colour: {i.Colour} Memory capacity{i.MemoryCapacity} Price: {i.Price}\n"); totalPrice += i.Price; sw.WriteLine($"Name: {i.Name} Firm: {i.Firm} Colour: {i.Colour} Memory capacity{i.MemoryCapacity} Price: {i.Price}"); } else { RadioPhone i = (RadioPhone)a; textBox1.AppendText($"Name: {i.Name} Firm: {i.Firm} Reach: {i.Reach} Anserphone: {i.AnswerPhone} Price: {i.Price}\n"); totalPrice += i.Price; sw.WriteLine($"Name: {i.Name} Firm: {i.Firm} Reach: {i.Reach} Anserphone: {i.AnswerPhone} Price: {i.Price}"); } } textBox1.AppendText("Total price: " + Convert.ToString(totalPrice)); sw.WriteLine("Total price: " + Convert.ToString(totalPrice)); } button1.IsEnabled = true; }
public (Array, Array) ReadFromTXTWriteToArray(string Path, string Path2) { //отдельный масив путей к файлам string[] paths = new string[2] { Path, Path2 }; //совместное количество строк в путях, для того, чтобы задавать размерность масивов int count = File.ReadAllLines(Path).Length + File.ReadAllLines(Path2).Length; mobilePhones = new MobilePhone[count]; radioPhones = new RadioPhone[count]; //щетчики ячеек для последовательного заполнения масивов int mobilePhoneCount = 0; int radioPhoneCount = 0; //перебирает сначала txt файл по одному пути, затем по другому foreach (string path1 in paths) { //записывает все строчки в переменную var lines = File.ReadAllLines(path1); //перенорсит данные из файдла в масивы, одновременно сортирует на "Мобильные Телефоны" и "Радиотелефоны" foreach (var line in lines) { if (line.Split('_')[0] == "Mobile Phone") { mobilePhones[mobilePhoneCount] = new MobilePhone(line.Split(',')[0], line.Split(',')[1], line.Split(',')[2], Convert.ToInt32(line.Split(',')[3]), Convert.ToInt32(line.Split(',')[4])); mobilePhoneCount++; } if (line.Split('_')[0] == "Radio Phone") { radioPhones[radioPhoneCount] = new RadioPhone(line.Split(',')[0], line.Split(',')[1], Convert.ToInt32(line.Split(',')[2]), Convert.ToBoolean(line.Split(',')[3]), Convert.ToInt32(line.Split(',')[4])); radioPhoneCount++; } } } // перебираем масивы удаляя пустые ячейки mobilePhones = mobilePhones.Where(x => x != null).ToArray(); radioPhones = radioPhones.Where(x => x != null).ToArray(); return(mobilePhones, radioPhones); }