您的位置:首页 > 产品设计 > UI/UE

linq学习笔记:将List<T> 转换为 Dictionary<T Key,T Value>

2013-08-29 10:29 781 查看
运用Linq,将List<T> 转换为 Dictionary<T Key,T Value>

即:[b]List<T> To[b]Dictionary<T Key,T Value>[/b][/b]

废话不说,看代码:

示例代码:按照性别分类

class Program
{
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
public int Sex { get; set; }
}

static void Main(string[] args)
{
List<Student> lstStudent = new List<Student>();
lstStudent.Add(new Student { Name = "A1", Age = 17, Sex = 0 });
lstStudent.Add(new Student { Name = "A2", Age = 19, Sex = 1 });
lstStudent.Add(new Student { Name = "A3", Age = 17, Sex = 1 });
lstStudent.Add(new Student { Name = "A4", Age = 19, Sex = 0 });
lstStudent.Add(new Student { Name = "A5", Age = 18, Sex = 1 });
lstStudent.Add(new Student { Name = "A6", Age = 18, Sex = 0 });
lstStudent.Add(new Student { Name = "A7", Age = 18, Sex = 1 });
lstStudent.Add(new Student { Name = "A8", Age = 19, Sex = 0 });
lstStudent.Add(new Student { Name = "A9", Age = 19, Sex = 0 });

var dicStudent = lstStudent.GroupBy(p => p.Sex).ToDictionary(p => p.Key, p => p.ToList());
foreach (var dic in dicStudent)
{
Console.WriteLine("Key:{0}", dic.Key);
foreach (var stu in dic.Value)
{
Console.WriteLine("Name:{0},Age:{1}", stu.Name, stu.Sex.ToString());
}
}
Console.ReadKey();
}
}


实际运行结果:

Key:0
Name:A1,Age:0
Name:A4,Age:0
Name:A6,Age:0
Name:A8,Age:0
Name:A9,Age:0
Key:1
Name:A2,Age:1
Name:A3,Age:1
Name:A5,Age:1
Name:A7,Age:1


轻松利用linQ
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: