我有一个收集列表,它返回以下结果:
GenderID Name Gender
1 Mary F
1 Jane F
1 Lori F
2 John M
2 Mike M
我正在使用foreach循环并基于GenderID动态创建列表视图。我担心在GenderID发生变化时要检查什么。任何人都可以指出我或给我一些反馈。
public void GetGenderInfo()
{
int? currentGenderID = null;
List<Gender> lstGenders = GetListOfGenders();
foreach (var g in lstGenders)
{
currentGenderID = g.GenderID;
if ( //what goes here )
{
// create ListView
}
}
}
预期结果为:
Mary F John M
Jane F Mike M
Lori F
答案 0 :(得分:0)
由于您希望按照certian值进行分组,因此您需要跟踪分组值。添加列表字典可以解决这个问题。看看下面的代码:
public void GetGenderInfo()
{
List<Gender> lstGenders = GetListOfGenders();
var tmpDict = new Dictionary<int, List<Gender>();
foreach (var g in lstGenders)
{
List<Gender> currGender;
if (!tempDict.TryGetValue(g.GenderId, out currGender)
{
currGender = new List<Gender>();
tempDict.Add(g.GendrId, currGender);
}
currGender.Add(g);
}
//Now itterate your dictionary & pull out the groupings.
}
tmpDict
现在包含按GenderId分组的原始列表。