2016-05-15 54 views
-2
var req = (from k in dc.operations.ToList() 
      group k by k.id_employee into g 
      select new { id_emp = g.Key , nbr = g.Count(), } 
     ).Take(1).SingleOrDefault(); 

double mint=0; 
for (int i = 0; i < req.nbr; i++) 
{ 
    var r = (from l in dc.operations 
      where l.id_employee == req.id_emp 
      select l).Take(1).ToList(); 
    var r2 = (from l in dc.operations 
      where l.id_employee == req.id_emp 
      && l.date_operation.Value > r[i].date_operation.Value 
      select l).Take(1).ToList(); 
    double nbr_minut = (r[i].date_operation.Value - r2[i].date_operation.Value).TotalMinutes; 
    mint = +nbr_minut; 
    nbr_minut = 0; 
} 

TimeSpan span = TimeSpan.FromMinutes(mint); 
string nbr_houre = span.ToString(@"hh\:mm"); 

label1.Text = nbr_houre.ToString(); 
+5

什麼是貼有碼的問題,究竟是不是滿意? – har07

回答

0

爲了簡化問題,可以說你有一個Person列表,並且想獲得最年輕的人和他的年齡。
你可以這樣做:

people.OrderBy(p => p.Age).Select(p => new {Dude = p, Age = p.Age}).FirstOrDefault();