как в си шарпе считать данные с текстового файла, в котором хранятся данные клиентов банка в таком виде:
Sergey Efremov;89093434557;555;2;123456789223455;10000;893494573632722;5000
Anna Orlova;89046788923;pass;1;335456566754334;7000
первое это имя и фамилия, потом через точку-запятую идут: номер телефона, пароль, количество счетов, номер счета, его баланс и так далее. есть класс user с полями имя, номер, пароль и класс accounts с полями номер счета и баланс. как ввести данные в поля класса accounts при том что счетов может быть несколько.
распиши подробно код для решения этой проблемы
csharp
using System;
using System.IO;
using System.Collections.Generic;
class User
{
public string Name { get; set; }
public string PhoneNumber { get; set; }
public string Password { get; set; }
public List<Accounts> Accounts { get; set; }
public User()
{
Accounts = new List<Accounts>();
}
}
class Accounts
{
public string AccountNumber { get; set; }
public double Balance { get; set; }
}
class Program
{
static void Main()
{
List<User> users = new List<User>();
string[] lines = File.ReadAllLines("data.txt"); // считываем все строки из файла
foreach (string line in lines)
{
string[] data = line.Split(';'); // разбиваем строку на массив данных
User user = new User();
user.Name = data[0];
user.PhoneNumber = data[1];
user.Password = data[2];
for (int i = 3; i < data.Length; i += 2)
{
string accountNumber = data[i];
double balance = double.Parse(data[i + 1]);
Accounts account = new Accounts();
account.AccountNumber = accountNumber;
account.Balance = balance;
user.Accounts.Add(account);
}
users.Add(user);
}
// Печать данных пользователей
foreach (User user in users)
{
Console.WriteLine($"Имя: {user.Name}");
Console.WriteLine($"Номер телефона: {user.PhoneNumber}");
Console.WriteLine($"Пароль: {user.Password}");
foreach (Accounts account in user.Accounts)
{
Console.WriteLine($"Номер счета: {account.AccountNumber}");
Console.WriteLine($"Баланс: {account.Balance}");
}
Console.WriteLine();
}
}
}
В данном коде мы считываем все строки из текстового файла в массив строк `lines` с помощью метода `File.ReadAllLines`. Затем проходимся по каждой строке и разбиваем ее на отдельные данные с использованием метода `Split` и символа `";"`. Заполняем поля класса User соответствующими данными. Затем в цикле проходимся по остальным данным и создаем экзеНажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет