Я создаю программу, которая читает данные из файла JSON. Это должно позволить пользователю вводить путь к файлу из консоли. Я реализовал это и сохранил данные в списке, а затем данные отображаются на консоли. Мне нужно рассчитать период, в который играл каждый игрок (сколько лет). Пользователю предлагается ввести значение, и если период воспроизведения превышает указанное значение, его следует сохранить в файл .csv.
static void Main(string[] args)
{
string path;
do
{
Console.Write("Please enter the path of the file: ");
path = Console.ReadLine();
if (!File.Exists(path))
{
Console.WriteLine("The path is not correct.");
}
} while (!File.Exists(path));
Deserialize(path);
Console.Write("Minimum years of playing to qualify: ");
int years = int.Parse(Console.ReadLine());
MinRequirements(years);
Console.ReadLine();
}
public static void Deserialize(string filePath)
{
List<Player> players = JsonConvert.DeserializeObject<List<Player>>(File.ReadAllText(filePath));
foreach (var player in players)
{
Console.WriteLine(player.Name);
}
}
public static List<Player> MinRequirements(int years)
{
DateTime dt = new DateTime();
int yearsPlaying = players.PlayerSince - dt.Year;
if(years > yearsPlaying)
{
//store to a .csv file
}
}
class Player
{
public string Name { get; set; }
public int Year { get; set; }
private string Position { get; set; }
public double Rating { get; set; }
}
Я пытаюсь создать этот метод MinRequirements ()это подсчитывает, сколько лет сыграл каждый из них. Это явно не правильно, и я немного растерялся. Я новичок, и мне нужна помощь с этим. Ниже мой файл JSON:
[
{
"Name": "Luka Doncic",
"PlayerSince": 2018,
"Position": "SG",
"Rating": 87.0
},
{
"Name": "Thomas Welsh",
"PlayerSince": 2018,
"Position": "C",
"Rating": 67.0
},
{
"Name": "Jayson Tatum",
"PlayerSince": 2017,
"Position": "SF",
"Rating": 84.0
},
{
"Name": "LeBron James",
"PlayerSince": 2003,
"Position": "SF",
"Rating": 96.0
}
]