Как получить доступ к элементу каждого объекта списка и выполнить с ним какие-либо действия? - PullRequest
0 голосов
/ 01 ноября 2019

Я создаю программу, которая читает данные из файла 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
    }
 ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...