C# 7 Out variable and pattern variable declarations are not allowed within a query clause

Viewed 919

Why out variables are not allowed in query clause?

If I use out variables here it fails:

string json = "{'PayDays':['2017-07-07','2017-07-21','2017-08-04','2017-08-18']}";
var pd = JsonConvert.DeserializeObject<Accounting>(json);

var rm = from item in pd.PayDays
     where (DateTime.TryParse(item, out DateTime dateresult)) ?
    dateresult.Subtract(DateTime.Now).Days >= 0 ? true : false : false      
    select item;
rm.Dump();

But old way works:

DateTime result;
var rm = from item in pd.PayDays
         where DateTime.TryParse(item, out result) ? (result.Subtract(DateTime.Now).Days >= 0 ? true : false) : false
         select item;
rm.Dump();
2 Answers
Related