0

我有一大堆返回数据类型 ArrayList 的函数。每个列表项都包含一个字符串值,该字符串值具有多个值,所有值都由“\t”分隔,直到现在我一直在附加一个带有数据的文本框。我已经这样做了,所以我可以将输出直接复制/粘贴到 Excel 中,因为到目前为止这是一个简单的要求..

我想将 ArrayList (包含多个制表符分隔的字符串)转换为字符串数组列表,即

List<string[]> 

这样我就可以尝试填充 DataGridView 控件。

有人指出我正确的方向吗?谢谢

4

2 回答 2

3

像这样?

List<string> list = arrayList.Cast<string>()
         .SelectMany(s => s.Split('\t'))
         .ToList();

这会将 arrayList 中的每个对象转换为一个字符串,将每个字符串拆分为一组字符串,并将“一组集合”展平为一个字符串列表。

或者这个,如果你不想展平集合:

List<string[]> list = arrayList.Cast<string>()
     .Select(s => s.Split('\t'))
     .ToList();
于 2013-11-05T10:42:07.527 回答
1

首先,将您的 arrayList 转换为可枚举的字符串。
然后对于每个字符串,将其拆分为另一个可枚举的字符串,并带有\t分隔符,并将其展平为一个数组。

List<string[]> listOfArray = myArrayList.Cast<string>()
                                        .Select(s => s.Split('\t').ToArray())
                                        .ToList();
于 2013-11-05T10:46:18.627 回答