gpt4 book ai didi

c# - string.Join(string, string[]) 返回 "System.String[]"

转载 作者:太空宇宙 更新时间:2023-11-03 17:10:26 26 4
gpt4 key购买 nike

我需要一些帮助。我有一个方法应该输出一个包含列表内容的 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.Join()需要 params object[] .

当您传递编译时类型的变量时 Array ,它将其解释为数组中的单个项目,并最终传递给 new object[] { yourArray }。 .
然后调用 ToString()在单个项目上,它返回类型名称(因为数组不会覆盖 ToString()

要解决这个问题,您需要更改 Array任何强类型集合类型( string[]object[]IEnumerable<string> )。
然后它将数组本身传递给 Join() ,而不是假设它是 paramarray 中的单个参数。

关于c# - string.Join(string, string[]) 返回 "System.String[]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16420371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com