2016-01-29 39 views
-1

我试图创建一个场景,您有一个文本框,输入某个东西的名称,按回车键,然后按照需要多次执行此操作。然后当你按下'生成'时,它会把你在盒子里输入的所有名字都放在一个文件中,结构如下:从一个数组打印多个字符串到一个文档

{"item1", "item2", "item3"}等等,取决于你放入的物品的数量将0件东西放在中)

我已经知道如何打印文档,但我很困惑如何打印创建到文档的字符串列表。

+0

你已经有一个字符串列表?你问如何打印一个列表到一个文件,或者如何存储一个用户输入列表? – Kroltan

回答

1

你可以做到这一点,像这样:

string[] original = {"one", "two", "three", "four", "five"}; 

string result = "{\"" + string.Join("\", \"", original) + "\"}"; 

Console.WriteLine(result); // Prints {"one", "two", "three", "four", "five"} 

最后你会与你result想要的字符串,你可以根据需要将其写入文件。

一个简单的方法来写文本文件是这样的:

File.WriteAllText("File path goes here", result); 
0

在写这个答案的时候,这个问题有点含糊。我假设你已经有了一个包含内容的列表,并且只是想将它写入一个文件。

您不能直接打印列表的文档,首先需要建立从列表中的部分字符串,然后把它写入:

const string quote = "\""; 
const string separator = ", "; 
// your list from user input 
List<string> items = new List<string> { 
    "item1", 
    "item2", 
    "item3" 
}; 

string result = ""; 
for (int i = 0; i < items.Count; i++) { 
    // append the current item, surronded by quotes. 
    result += quote + items[i] + quote; 

    // only add comma if it's not the last item 
    if (i < items.Count - 1) { 
     result += separator; 
    } 
} 
result = "{" + result + "}"; 

File.WriteAllText("yourfile.txt", result); 

但在这种情况下,StringBuilder可能更比那么多的连接效率更高。