简体   繁体   English

String.Join不适用于AppendAllText(C#)

[英]String.Join is not working with AppendAllText (C#)

I have below string 我有下面的字符串

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

and I'm write it to file: 然后将其写入文件:

File.AppendAllText(fileName, str);

It's working. 工作正常

I also tried to use string.Join : 我也尝试使用string.Join

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

but the file always is empty. 但是文件始终为空。 What is wrong? 怎么了?

i think what you need is string.Format() 我认为您需要的是string.Format()

string str = string.Format("Insert into {0}(id, t, v) values({1}, {2}, {3});{4}",tname, lc,mc,rc, Environment.NewLine);

String.Format() documentation String.Format()文档

string.Join is to concatenate a String[] of objects using a separator string.Join用于使用分隔符连接对象的String[]

eg 例如

List<int> l= new List  { 1,2,3 };
var s = string.Join(",",l);

s is then "1,2,3" s是"1,2,3"

In your code you are basically passing in a very long separator (your string) and an empty array. 在代码中,您基本上传递了一个很长的分隔符(您的字符串)和一个空数组。

Documentation for string.Join string.Join的文档

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM