Skip to main content
 首页 » 编程设计

c#之在多个 .NET 集合中传播项目

2024年02月05日28mayingbao

我正在使用 VS 2015 以 C sharp 编写 Windows 窗体应用程序。 在此应用程序中,我有一个字符串集合 (List),其中包含多个运动队的名称。我想把这些运动队分成几组。将创建的组数基于我的字符串集合中运动队的数量。例如,如果我的团队少于 8 个,我会将这些团队分散到两个组中。我的问题是我无法找到一种方法将我的字符串集合中的项目划分为两个新的字符串集合。 底层代码显示我可以在组上创建并添加字符串项目,但是创建两个组并将项目分布在这两个新的字符串集合上对我来说是个问题。请随时给我一些提示或帮助:

   if (i < 6) 
   { 
   /// Make one group and add the teams in this group 
   List<string> groepa = new List<string>(); 
   foreach (var item in lstTeams) 
   { 
   groepa.Add(item); 
 
   } 
 
   } 
   else if (i < 8) 
   { 
   /// Make two groups 
   List<string> groepa = new List<string>(); 
   List<string> groepb = new List<string>(); 

请您参考如下方法:

您可以将主列表中的元素数除以二。然后取前半部分放在第一个列表中,后半部分放到第二个列表中

int numElements = lstTeams / 2; 
List<string> groepa = lstTeams.Take(numElements).ToList(); 
List<string> groepb = lstTeams.Skip(numElements).ToList(); 

这使用了 IEnumerable 扩展 Take 和 Skip