我正在使用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();
}
}
}
}
答案 0 :(得分: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);
}
}
}
}
答案 1 :(得分:0)
这是你的问题:
String input = textBox1.Text + textBox2.Text;
您将两个文本框的内容合并为一个单词,之后系统无法再判断一个单词的结束位置和下一个单词的开始位置。
答案 2 :(得分: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只是作为文本框的输出