我有一个数组列表,如下所示:
List<string[]> definitions
MATERIAL "STEEL" TYPE "Steel" WEIGHTPERVOLUME 7833.414
MATERIAL "STEEL" SYMTYPE "Isotropic" E 2.038902E+10
MATERIAL "STEEL" FY 3.515348E+07 FU 4.569952E+07
MATERIAL "STEEL" HYSTYPE "Kinematic" SSTYPE "Simple"
MATERIAL "CONC" TYPE "Concrete" WEIGHTPERVOLUME 2402.616
MATERIAL "CONC" SYMTYPE "Isotropic" E 2.531051E+09 U 0.2
MATERIAL "CONC" FC 2812279
MATERIAL "CONC" HYSTYPE "Concrete" ENERGYDEGFACT 0
MATERIAL "OTHER" TYPE "Other" WEIGHTPERVOLUME 7833.414
MATERIAL "OTHER" SYMTYPE "Isotropic" E 2.038902E+10
MATERIAL "OTHER" DESIGNTYPE "OTHER"
MATERIAL "OTHER" HYSTYPE "Elastic" IOTENSION 0.01
MATERIAL "OTHER" STRAIN -1 STRESS -1
MATERIAL "OTHER" STRAIN 0 STRESS 0 POINTID "A"
MATERIAL "OTHER" STRAIN 1 STRESS 1 我希望能够在definitions列表之外创建一个这样的列表:
List<List<string[]>> objects并根据每个数组中的第二个元素分隔列表:
MATERIAL "STEEL" TYPE "Steel" WEIGHTPERVOLUME 7833.414
MATERIAL "STEEL" SYMTYPE "Isotropic" E 2.038902E+10
MATERIAL "STEEL" FY 3.515348E+07 FU 4.569952E+07
MATERIAL "STEEL" HYSTYPE "Kinematic" SSTYPE "Simple"
MATERIAL "CONC" TYPE "Concrete" WEIGHTPERVOLUME 2402.616
MATERIAL "CONC" SYMTYPE "Isotropic" E 2.531051E+09 U 0.2
MATERIAL "CONC" FC 2812279
MATERIAL "CONC" HYSTYPE "Concrete" ENERGYDEGFACT 0
MATERIAL "OTHER" TYPE "Other" WEIGHTPERVOLUME 7833.414
MATERIAL "OTHER" SYMTYPE "Isotropic" E 2.038902E+10
MATERIAL "OTHER" DESIGNTYPE "OTHER"
MATERIAL "OTHER" HYSTYPE "Elastic" IOTENSION 0.01
MATERIAL "OTHER" STRAIN -1 STRESS -1
MATERIAL "OTHER" STRAIN 0 STRESS 0 POINTID "A"
MATERIAL "OTHER" STRAIN 1 STRESS 1 发布于 2017-01-23 00:31:45
为什么不直接使用GroupBy
var listOfGroups = definitions.GroupBy(x => x.Material);您将获得一个元素列表,其中包含一个Key和一个分组对象列表。
这是一个similar question
发布于 2017-01-23 00:38:54
而不仅仅是GroupBy数组中的第二个元素:
var groups = definitions.GroupBy(x => x[1]);这不是你得到的列表,它是IEnumerable<IGrouping<string, string[]>>,但我认为这正是你想要的。
发布于 2017-01-23 00:40:13
尝试使用DataTable和LINQ可以对其进行过滤
DataTable dt=new DataTable();
//Add the data in it
dt.Where() or dt.Select();https://stackoverflow.com/questions/41793314
复制相似问题