将多个字符串从数组打印到文档

时间:2016-01-29 12:52:33

标签: c# .net

我试图创建一个你有文本框的场景,你输入一些东西的名字,然后按回车键并按你想要的那样多次。然后,当您按下“生成”时它将您在框中输入的所有名称合计,并将它们放在一个结构为:

的文档中

{"item1", "item2", "item3"}等取决于您放入的物品数量(可以放入0件物品)

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

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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可能比那么多连接更有效。