簡體   English   中英

從列表中按年和月的方式對名稱進行分組

[英]Grouping the name in the manner of years and months from a list

我創建了一個具有兩個屬性的類,其中一個屬性為datetime數據類型,另一個為字符串。

public class name1
{
public DateTime dob { get; set; }
public string name { get; set; }
}

然后頁面加載創建了一個列表

    DateTime d1 = new DateTime(1989, 5, 12);
    DateTime d2 = new DateTime(1989, 5, 26);
    DateTime d3 = new DateTime(1989, 3, 12);
    DateTime d4 = new DateTime(1986, 3, 21);
    DateTime d5 = new DateTime(1990, 8, 19);

    List<name1> randmoptn=new List<name1>();
    name1 n1=new name1();
    n1.name="rachit";
    n1.dob=d1;
    name1 n2=new name1();
    n2.name="abhinav";
    n2.dob=d2;
    name1 n3=new name1();
    n3.name="mandeep";
    n3.dob=d3;
    name1 n4=new name1();
    n4.name="jasmeet";
    n4.dob=d4;
    name1 n5=new name1();
    n5.name="rajat";
    n5.dob=d5;
    randmoptn.Add(n1);
    randmoptn.Add(n2);
    randmoptn.Add(n3);
    randmoptn.Add(n4);
    randmoptn.Add(n5);

現在我想要所需的輸出應該是

year 1986

month 3

21/3/1986 jasmeet

year 1989

month 3

12/3/1989 mandeep

month 5 12/5/1989 rachit

26/5/1989 abhinav

year 1990

month 8

19/8/1990 rajat

如果您想要的輸出如下

  • 具有名稱的DoB

然后做這樣的事情

foreach item in YourList  
{  
   print item.dob.year; // this will return year in integer format
   print item.dob.month; // this will return month in integer format
   print item.dob; // this will return DoB as dateformat, do whatever formating you want 
   print item.name; // this will return Name as String  
}

如果需要,在同一行中打印DoB和Name

    var q=from x in randmoptn
            group x by new { Year=x.dob.Year,Month=x.dob.Month} into month 
            group month by month.Key.Year into year
            select new { Year=year.Key,Months=year.OrderBy (y =>y.Key.Month )};

    foreach (var year in q) {
        Console.WriteLine("year {0}",year.Year);
        foreach (var month in year.Months) {
            Console.WriteLine("month {0}",month.Key.Month);
            foreach (var item in month) {
                Console.WriteLine("{0:dd/MM/yyyy},{1}",item.dob,item.name);
            }

        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM