如何遍历通用List< T>和每3项分组 [英] how to loop over generic List<T> and group per 3 items
本文介绍了如何遍历通用List< T>和每3项分组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想遍历MemberProfiles的一般列表:
I want to loop over a generic list of MemberProfiles:
List<MemberProfile> jobseekers
,并将项目分组在<div class='group'>
标记中.每个<div class="group">
应包含3个这样的求职者:
, and group the items in a <div class='group'>
tag. Every <div class="group">
should contain 3 jobseekers like this:
<div class="group">
<div class="jobseeker">
...data jobseeker
</div>
</div>
我在通用列表上尝试了不同的方法,例如.skip()和.take(),但是我没有成功实现此方案.
I tried different methods on generic list, like .skip() and .take() but I'm not succeeding in implementing this scenario.
我的代码如下:
foreach (MemberProfile jobseekerProfile in Jobseekers)
{
if (jobseekerProfile != null)
{
Label lblJobseeker = new Label();
StringBuilder sbJobseeker = new StringBuilder();
sbJobseeker.Append(string.Format("<p><strong>{0} {1}</strong><br />", jobseekerProfile.FirstName, jobseekerProfile.LastName));
XPathNodeIterator preValues = library.GetPreValues(1362);
preValues.MoveNext();
XPathNodeIterator iterator2 = preValues.Current.SelectChildren("preValue", "");
while (iterator2.MoveNext())
{
if (jobseekerProfile.JobType == iterator2.Current.GetAttribute("id", ""))
{
sbJobseeker.Append(string.Format("looking for a {0}<br />", iterator2.Current.Value));
}
}
XPathNodeIterator iterator3 = library.GetPreValues(1363);
iterator3.MoveNext();
XPathNodeIterator iterator4 = iterator3.Current.SelectChildren("preValue", "");
StringBuilder sbJobExperience = new StringBuilder();
string[] strJobExperience = jobseekerProfile.JobExperience.Split(new char[] { ',' });
int counter = 1;
while (iterator4.MoveNext())
{
if (jobseekerProfile.JobExperience.Contains(iterator4.Current.GetAttribute("id", "")))
{
if (counter != strJobExperience.Count<string>())
{
sbJobExperience.Append(string.Format("{0}, ", iterator4.Current.Value));
counter++;
}
else
{
sbJobExperience.Append(string.Format("{0}", iterator4.Current.Value));
}
}
}
sbJobseeker.Append(string.Format("Fields of experience: {0}<br />", sbJobExperience.ToString()));
sbJobseeker.Append(string.Format("Years of experience: {0}<br />", jobseekerProfile.YearsExperience));
sbJobseeker.Append(string.Format("Country: {0}<br />", jobseekerProfile.Country));
sbJobseeker.Append(string.Format("<form name='frmSelect' action='/selectjobcandidate.aspx' method='post'><input type='hidden' name='username' value='{0}' /><input type='submit' value='select candidate' /></form>", jobseekerProfile.UserName));
lblJobseeker.Text = sbJobseeker.ToString();
phListJobseekers.Controls.Add(lblJobseeker);
}
}
有人可以让我走上正确的道路来实施这种情况吗?
can someone put me on the right track to implement this scenario?
推荐答案
for (var i = 0; i < Jobseekers.Count; i += 3)
{
foreach (MemberProfile jobseekerProfile in Jobseekers.Skip(i).Take(3))
{
}
}
这是你的追求吗?
这篇关于如何遍历通用List< T>和每3项分组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文