2017-05-17 20 views
-5

私は1つの日付のリストを持っています。私はそのリストから最初の日付を探したい。最初の取得方法Cの日付のリストから月の日付#

リスト怒鳴る日付

15/5/2017, 
3/5/2017, 
7/4/2017, 
4/4/2017, 
1/4/2017, 
31/3/2017, 
22/3/2017, 
5/3/2017, 
2/3/2017 

を持っている、それが怒鳴る出力に

3/5/2017, 
1/4/2017, 
2/3/2017 

を返す必要がありますこれは私が

 List<StockValue> monthlyStocks = new List<StockValue>(); 
     List<StockValue> MonthlyFirstStock = new List<StockValue>(); 
     foreach(StockValue st in data) 
     { 
      if(monthlyStocks.Count > 0) 
      { 
       if(st.Date.Month != monthlyStocks.Last().Date.Month) 
       { 
        MonthlyFirstStock.Add(monthlyStocks.OrderBy(x => x.Date).FirstOrDefault()); 
        monthlyStocks = new List<StockValue>(); 
       } 
      } 

      monthlyStocks.Add(st); 
     } 
     MonthlyFirstStock.Add(monthlyStocks.OrderBy(x => x.Date).FirstOrDefault()); 

を行っているものですが、このためのより良いアプローチですか?

+5

あなたはほぼ1.6 Kのレップを持っています...これはお粗末な質問です。あなたの努力はどこですか? *あなたが試したことを私たちに見せてください。誰もあなたのためのコードを書いていません。さあ、あなたはここ5年近くのメンバーです。誰かにあなたの口座を借りさせるのですか? –

答えて

0

コメントの説明。

public class Program 
{ 
    public static void Main(string[] args) 
    { 
     var dates = new List<DateTime>(); 
     dates.Add(new DateTime(2017, 5, 15)); 
     dates.Add(new DateTime(2017, 5, 3)); 
     dates.Add(new DateTime(2017, 4, 7)); 
     dates.Add(new DateTime(2017, 4, 4)); 
     dates.Add(new DateTime(2017, 4, 1)); 
     dates.Add(new DateTime(2017, 3, 31)); 
     dates.Add(new DateTime(2017, 3, 22)); 
     dates.Add(new DateTime(2017, 3, 5)); 
     dates.Add(new DateTime(2017, 3, 2)); 

     var firstOfEachMonths = dates 
      // Group the dates by their month. 
      .GroupBy(date => date.Month) 
      // Project each group into the earliest day. 
      .Select(group => group 
        .OrderBy(date => date.Day) 
        .First()) 
      .ToList(); 

     /* 
     * Output: 
     * 03.05.2017 00:00:00 
     * 01.04.2017 00:00:00 
     * 02.03.2017 00:00:00 
     */ 
     foreach (var firstOfEachMonth in firstOfEachMonths) 
     { 
      Console.Out.WriteLine(firstOfEachMonth); 
     } 
    } 
} 
関連する問題