C# Консольное приложение - запрос IEnumerable и переформатирование Дата - PullRequest
1 голос
/ 23 апреля 2020

У меня есть запрос IEnumerable I, чтобы получить некоторые данные - и в этот запрос включено поле EndDate. Однако я бы хотел изменить этот формат даты окончания. Есть ли способ сделать это в запросе, или мне нужно запросить, а затем изменить дату? Пример кода ниже.

В настоящее время s c .EndDate отформатирован как "mm / dd / yyyy" (например, 28/05/2019), но мне нужно получить это поле как "dd-MMM -гггг "(напр., 28 мая-2019).

Есть мысли или идеи?

РЕДАКТИРОВАТЬ: мой класс "Score" получает все как STRING, как я получаю из файла CSV ранее в моем коде. класс ниже:

        public class Score
    {
        [CsvColumn(Name = "Name", FieldIndex = 1)]
        public string Name { get; set; }

        [CsvColumn(Name = "StudentId", FieldIndex = 2)]
        public string StudentId { get; set; }

        [CsvColumn(Name = "Email", FieldIndex = 3)]
        public string Email { get; set; }

        [CsvColumn(Name = "LastLogin", FieldIndex = 4)]
        public string LastLogin { get; set; }

        [CsvColumn(Name = "PlacementAssessmentNumber", FieldIndex = 5)]
        public string PlacementAssessmentNumber { get; set; }

        [CsvColumn(Name = "TotalNumberofPlacements Taken", FieldIndex = 6)]
        public string TotalNumPlacements { get; set; }

        [CsvColumn(Name = "StartDate", FieldIndex = 7)]
        public string StartDate { get; set; }

        [CsvColumn(Name = "StartTime", FieldIndex = 8)]
        public string StartTime { get; set; }

        [CsvColumn(Name = "EndDate", FieldIndex = 9)]
        public string EndDate { get; set; }

        [CsvColumn(Name = "EndTime", FieldIndex = 10)]
        public string EndTime { get; set; }

        [CsvColumn(Name = "ProctoredAssessment", FieldIndex = 11)]
        public string ProctoredAssessment { get; set; }

        [CsvColumn(Name = "TimeinPlacement", FieldIndex = 12)]
        public string TimeInPlacement { get; set; }

        [CsvColumn(Name = "PlacementResults", FieldIndex = 13)]
        public string PlacementResults { get; set; }

        IEnumerable<Score> scores = cc.Read<Score>(resultsPath, inputFileDescription);

        string whereSort = "Yes/Complete";

        var scoresById =
            from sc in scores
            orderby sc.Name
            where ((sc.ProctoredAssessment.ToString() == whereSort.ToString()))
            select new { sc.StudentId, sc.PlacementResults, sc.ProctoredAssessment, sc.EndDate };

1 Ответ

0 голосов
/ 24 апреля 2020

Благодаря @Sweeper я нашел решение. В моем классе я изменил String EndDate на DateTime EndDate, и я преобразовал поле ToString ("dd-MMM-yyyy"). Думаю, я действительно задумался над этим!

...