【发布时间】:2013-05-07 13:31:53
【问题描述】:
我需要一些帮助。我有一个方法应该输出一个包含列表内容的 txt 文件(一行中的每个项目)。列表项是字符串数组。问题是当我调用 string.Join 它返回文字字符串 "System.String[]" 而不是实际的连接字符串。我在调试器中观察了它,列表及其数组具有正确的字符串。知道如何获取实际字符串以便将其写入 txt 文件吗?
这是我的代码:
public void myMethod()
{
List<Array> list = new List<Array>();
for (int i = 0; i < myGrid.Rows.Count; i++)
{
string[] linie = new string[3];
linie[0] = myGrid.Rows[i].Cells[1].Value.ToString();
linie[1] = myGrid.Rows[i].Cells[3].Value.ToString();
linie[2] = myGrid.Rows[i].Cells[2].Value.ToString();
{
list.Add(linie);
}
}
string path = "S:\\file.txt";
StreamWriter file = new System.IO.StreamWriter(path);
foreach (Array x in list)
{
string s = string.Join(",", x);
file.WriteLine(s);
}
file.Close();
}
【问题讨论】:
-
你试过
string.Concat(",", x)吗? -
@gwin003:那没用。
-
"SystemString[] " 是它返回的实际字符串。
-
为什么将列表定义为 List
而不是 List ?我猜它很困惑并使用 LINQ 连接方法(它将通用数组连接到另一个数组)而不是 string.join 方法,它将字符串数组连接到一个字符串中。 -
将
Array的所有用法更改为string[],它应该可以正常工作。