String.Join无法使用AppendAllText(C#)

String.Join无法使用AppendAllText(C#),c#,string,join,stream,append,C#,String,Join,Stream,Append,我有一根绳子 string str= "Insert into " + tname + "(id, t, v) values(" + lc+ ", " + mc+ ", " + rc+");" + Environment.NewLine; 我正在将其写入文件: File.AppendAllText(fileName, str); 它起作用了 我还尝试使用字符串。加入: string str = string.Join("Insert into " + tname+ "(id, t, v) v

我有一根绳子

string str= "Insert into " + tname + "(id, t, v) values(" + lc+ ", " + mc+ ", " + rc+");" + Environment.NewLine;
我正在将其写入文件:

File.AppendAllText(fileName, str);
它起作用了

我还尝试使用字符串。加入

string str = string.Join("Insert into " + tname+ "(id, t, v) values(" + lc+ ", " + mc+ ", " + rc+ ");", Environment.NewLine);
File.AppendAllText(fileName, str);

但是文件总是空的。怎么了?

string.Join
是使用分隔符连接对象的
字符串[]

乙二醇

List l=新列表{1,2,3};
var s=string.Join(“,”,l);
然后s是
“1,2,3”

在代码中,基本上是传入一个很长的分隔符(字符串)和一个空数组


string.Join
是使用分隔符连接对象的
字符串[]

乙二醇

List l=新列表{1,2,3};
var s=string.Join(“,”,l);
然后s是
“1,2,3”

在代码中,基本上是传入一个很长的分隔符(字符串)和一个空数组


我想你需要的是string.Format()


我想你需要的是string.Format()


读取联接的一个良好开端是将字符串数组与分隔符连接起来..1)输入参数的顺序错误2)第二个参数应该是
IEnumerable
。因此,即使您更改了顺序,您也会将每个字符打印在单独的一行中。在这里,您使用长字符串作为
环境中每个字符的sperator。换行符
字符串,因此您的文件应该只包含
环境。换行符
…旁注-此insert语句表示您有具有相同字符的不同表结构,描述数据库中的相同实体。这是一个糟糕的数据库设计。您应该将其更改为单个表,并使用当前设计表名称的任何含义作为该表中的另一列。读取联接的一个良好开端是将字符串数组与分隔符连接起来。.1)输入参数的顺序错误2)第二个参数应为
IEnumerable
。因此,即使您更改了顺序,您也会将每个字符打印在单独的一行中。在这里,您使用长字符串作为
环境中每个字符的sperator。换行符
字符串,因此您的文件应该只包含
环境。换行符
…旁注-此insert语句表示您有具有相同字符的不同表结构,描述数据库中的相同实体。这是一个糟糕的数据库设计。您应该将其更改为单个表,并使用当前设计表名称的任何含义作为该表中的另一列。
List<int> l= new List  { 1,2,3 };
var s = string.Join(",",l);
string str = string.Format("Insert into {0}(id, t, v) values({1}, {2}, {3});{4}",tname, lc,mc,rc, Environment.NewLine);