更新时间:2023-12-05 17:46:04
使用Linq的例子。使用系统;
使用 System.Collections.Generic;
使用 System.Linq;
private static 列表< List< string>>拆分(IList< string>来源)
{
if (source == null || source.Count == 0 )
{
return 空跨度>;
}
其他
{
返回来源
。选择(x = > x)
.GroupBy(x = > x)
。选择(x = > x.ToList())
.ToList();
}
}
静态 void Main( string [] args)
{
List< string> array = new List< string>();
array.Add( Pre-aa);
array.Add( post-aa);
array.Add( Normal-aa);
array.Add( post-aa);
array.Add( Normal-aa);
array.Add( Normal-aa);
array.Add( post-aa);
array.Add( Pre-aa);
array.Add( post-aa);
array.Add( Pre-aa);
array.Add( post-aa);
array.Add( post-aa);
array.Add( Normal-aa);
array.Add( Normal-aa);
var result = Split(array);
// 三个列表中的结果
}
I have a List Contain 'N' values like
Pre-aa,Post-aa,Normal-aa,Post-aa,Normal-aa,Normal-aa,Post-aa,Pre-aa,Post-aa,Pre-aa,Post-aa,Post-aa,Normal-aa,Normal-aa....etc
How to create a seperate new list for each Pre-aa, Post-aa and Normal-aa from the parent List.
Please Help
Thanks in Advance
Example using Linq.using System; using System.Collections.Generic; using System.Linq;
private static List<List<string>> Split(IList<string> source) { if (source == null || source.Count == 0) { return null; } else { return source .Select(x => x) .GroupBy(x => x) .Select(x => x.ToList()) .ToList(); } } static void Main(string[] args) { List<string> array = new List<string>(); array.Add("Pre-aa"); array.Add("Post-aa"); array.Add("Normal-aa"); array.Add("Post-aa"); array.Add("Normal-aa"); array.Add("Normal-aa"); array.Add("Post-aa"); array.Add("Pre-aa"); array.Add("Post-aa"); array.Add("Pre-aa"); array.Add("Post-aa"); array.Add("Post-aa"); array.Add("Normal-aa"); array.Add("Normal-aa"); var result = Split(array); // Results in three Lists }