如何将C#列表从{{“ a,b,c”},{“ c,d,e”}}转换为{{“ a”,“ b”,“ c”},{“ c”,“ d“,” e“}}

时间:2020-06-15 17:11:03

标签: c#

使用下面的代码阅读CSV文件后,将其转换为列表。但是然后我需要拆分句子,我不知道该怎么做。

var parsedResult = new List<Dictionary<string, string>>();
var records = text.Split("\r\n");
foreach (var record in records)
{
    var fields = record.Split("\r\n");
    var recordItem = new Dictionary<string, string>();
    var i = 0;

    foreach (var field in fields)
    {
        recordItem.Add(i.ToString(), field);
        i++;
    }

    parsedResult.Add(recordItem);
}

如何将C#列表从{{“ a,b,c”},{“ c,d,e”}}转换为{{“ a”,“ b”,“ c”},{“ c “,” d”,“ e”}}?

2 个答案:

答案 0 :(得分:0)

所以您有一个包含一个字符串的列表列表, 您可以使用Linq来帮助您:

using System.Linq;


        List<List<string>> BigList = new List<List<string>>(){new List<string>{"a,b,c"}, new List<string>{ "c,d,e" } };
        var result = BigList.Select(l => l[0].Split(',').ToList()).ToList();

result是一个或多个字符串列表的列表。

答案 1 :(得分:0)

假设您只想让代码生成{ { "a", "b", "c" }, { "c", "d", "e" } },而不是专门将{ { "a,b,c" }, { "c,d,e" } }变成{ { "a", "b", "c" }, { "c", "d", "e" } },那么我想如果更改行{{1 }}拆分为var fields = record.Split("\r\n");,即,。我认为按record.Split(',')进行拆分不会有任何作用,因为早先的拆分已消除了所有"\r\n"出现的情况。

请注意,我不确定是否存在带有单个"\r\n"参数的string.Split重载,因此您可能必须将其更改为string