我有一个IEnumerable查询来获取一些数据-该查询中包含EndDate字段。但是,我想更改“结束日期”的格式。有没有一种方法可以在查询中执行此操作,还是需要先查询然后更改日期?下面的示例代码。
当前,sc.EndDate的格式为“ mm / dd / yyyy”(例如05/28/2019),但我需要将该字段设置为“ dd-MMM-yyyy”(例如28-May- 2019)。
任何想法或想法?
编辑:我的班级“分数”将所有内容都以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 };
由于@Sweeper,我找到了解决方案。在我的课堂上,我将String EndDate更改为DateTime EndDate,并将字段ToString(“ dd-MMM-yyyy”)强制转换。猜猜我真的在想这件事!