0

我正在用 C# 编写一个程序。使用这个程序,我打算将值从文本框写入 CSV 文件。到目前为止,这仍然有效。只有像这样粘贴回来的值:

hellobye|
hello (TextBox1)
bye (TextBox2)

我怎么知道他们总是换新线?我已经尝试过 Environment.NewLine,只是没有工作。

到目前为止,这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;


namespace test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Length != 0)
            {
                String input = textBox1.Text + textBox2.Text;
                string[] lines = {input  + "|" };
                System.IO.File.AppendAllLines(@"c:\output.csv", lines);
                textBox1.Clear();
                textBox2.Clear();
            }

          }
    }
}
4

3 回答 3

1

您可以改为使用 StreamWriter.WriteLine 方法的使用示例:

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";
        if (!File.Exists(path))
        {
            // Create a file to write to. 
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }
        }

        // Open the file to read from. 
        using (StreamReader sr = File.OpenText(path))
        {
            string s = "";
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }
    }
}
于 2013-05-22T22:05:34.650 回答
0

因此,如果我是正确的,您当前的输出是“hellobye|”

但你希望它是你好再见

因此,如果您正在创建一个 csv,那么您需要用逗号分隔元素,然后为行插入换行符。所以一个快速控制台应用程序看起来像这样:

    static void Main(string[] args)
    {
        string string1 = "hello";
        string string2 = "bye";

        string[] lines =
            {
                string1 + 
                Environment.NewLine + 
                string2
            };

        System.IO.File.AppendAllLines(@"c:\output.csv", lines);
    }

其中 string1 和 string2 将简单地用作文本框的输出

于 2013-05-22T22:03:42.260 回答
0

这是你的问题:

String input = textBox1.Text + textBox2.Text;

您将两个文本框的内容合并为一个单词,然后系统无法再判断一个单词在哪里结束,下一个单词从哪里开始。

于 2013-05-22T22:01:50.973 回答