1.取单列集合的最大值:
public void Linq85()
{
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
int maxNum = numbers.Max();
Console.WriteLine("The maximum number is {0}.", maxNum);
}
Result
The maximum number is 9.
2.取多列集合中某列的最大值。首先从集合中取出ID列,再用上边的1法取ID列中的最大值。
protected void Page_Load(object sender, EventArgs e)
{
List<UserInfo> list = new List<UserInfo>();
list.Add(new UserInfo()
{
ID = 1,
UserName = "test",
LoginName = "sfsdfs"
});
list.Add(new UserInfo()
{
ID = 2,
UserName = "testf",
LoginName = "sfsdfs"
});
list.Add(new UserInfo()
{
ID = 3,
UserName = "testd",
LoginName = "sfsdfs"
});
int maxID = (from p in list
select p.ID).Max();
}
class UserInfo
{
public int ID { set; get; }
public string UserName { set; get; }
public string LoginName { set; get; }
}
3.去掉重复的记录。很奇怪不知道为什么不能直接new成UserInfo实例再Distinct
protected void Page_Load(object sender, EventArgs e)
{
List<UserInfo> list = new List<UserInfo>();
list.Add(new UserInfo()
{
ID = 1,
UserName = "test",
LoginName = "sfsdfs"
});
list.Add(new UserInfo()
{
ID = 2,
UserName = "testf",
LoginName = "sfsdfs"
});
list.Add(new UserInfo()
{
ID = 3,
UserName = "testd",
LoginName = "sfsdfs"
});
list.Add(new UserInfo()
{
ID = 2,
UserName = "testf",
LoginName = "sfsdfs"
});
var listDistinct = ((from p in list
select new
{
ID = p.ID,
UserName = p.UserName,
LoginName = p.LoginName
}).Distinct());
List<UserInfo> listUser = (from p in listDistinct
select new UserInfo()
{
ID = p.ID,
UserName = p.UserName,
LoginName = p.LoginName
}).ToList();
}
class UserInfo
{
public int ID { set; get; }
public string UserName { set; get; }
public string LoginName { set; get; }
}