Home > database >  Select items from IEnumerable
Select items from IEnumerable

Time:11-11

I am trying to find the date for which a file exists in folder and getting an errror while trying to use IEnumerable.

DateTime testDate = ("2021-05-09");
DateTime snapshotDate  = Enumerable.Range(0, 30)
    .Select(i => DateTime.Parse(@testDate).AddDays(-i))
    .FirstOrDefault(s => EXISTS(string.Format(@"/users/{0:yyyy/MM}/testfile_{0:yyyyMMdd}.txt", DateTime.Parse(@testDate).AddDays(-s))));

Please let me what i am missing here

CodePudding user response:

Either remove Select, or format the date:

string testDate = "2021-05-09";
DateTime snapshotDate  = Enumerable.Range(0, 30)
    .Select(i => DateTime.Parse(@testDate).AddDays(-i))
    .FirstOrDefault(s => EXISTS(
        string.Format(@"/users/{0:yyyy/MM}/testfile_{0:yyyyMMdd}.txt", s))); // here

Note that since DateTime is struct FirstOrDefault will return default value - 1/1/0001 12:00:00 AM and not a null.

  •  Tags:  
  • c#
  • Related