Я понимаю, что этот вопрос задавался много раз ( 1 , 2 & 3 ), но я просто не понимаю, как его применять вмое дело.Я пытался играть часами, но я не могу понять это правильно.
У меня есть переменные в виде List<string>
, где каждый список содержит данные, у которых есть разрывы строк между ними / многострочные данные.Затем я вызвал событие, которое будет экспортировать эти данные в файл CSV.Ниже мой код.
savestate.cs - класс, в котором я инициализировал переменные
public partial class Savestate
{
public static List<string> rtb1_list = new List<string>();
public static List<string> rtb2_list = new List<string>();
public static List<string> rtb3_list = new List<string>();
public static List<string> rtb4_list = new List<string>();
}
Form1.cs - Событие
public void Savetocsv()
{
Type s = typeof(Savestate);
FieldInfo[] fields = s.GetFields(BindingFlags.Public | BindingFlags.Static);
StringBuilder csvdata = new StringBuilder();
string header = String.Join(",", fields.Select(f => f.Name).ToArray());
csvdata.AppendLine(header);
string rtb1 = String.Join(",", Savestate.rtb1_list.ToArray());
string rtb2 = String.Join(",", Savestate.rtb2_list.ToArray());
string rtb3 = String.Join(",", Savestate.rtb3_list.ToArray());
string rtb4 = String.Join(",", Savestate.rtb4_list.ToArray());
string newlinestring = string.Format("{0}; {1}; {2}; {3}", rtb1, rtb2, rtb3, rtb4);
csvdata.AppendLine(newlinestring);
string filepath = @"C:\new.csv";
File.WriteAllText(filepath, csvdata.ToString());
}
Однако, когда я открыл файл CSV, слова повсюду.Например, я написал привет , затем новую строку, затем я написал пока .Это фактический вывод , и это мой предполагаемый вывод . Надеюсь, что я могу получить помощь.