Member 13538296 Ответов: 1

Stringbuilder append save file, list<string>


Я хочу использовать приложение, где вы нажимаете на кнопку (автомобиль), а затем оно выводит вас в новое окно, где перечислены все модели 1. Honda 2.Toyota 3. Фиат 4.Феррари. Затем вы должны ввести в текстовое поле Номер модели автомобиля, которую хотите сохранить. Поэтому, если вы выберете 1. когда он сохранит StringBuilder, текст должен выйти просто Honda.

{
       StringBuilder _car  = new StringBuilder();

   public MainWindow()
   {
       InitializeComponent();

       Car();
   }
    private void Car()
   {
       _car.Append("Honda");
       _car.Append("Toyota");
       _car.Append("Fiat");
       _car.Append("Ferrari");
       }
    private void button1_Click(object sender, RoutedEventArgs e)
     {
       using (SaveFileDialog dlg = new SaveFileDialog())
       {
           if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
           {
               string fileName = dlg.FileName;
               SaveToFile(fileName);
             }
         }

      }
private void SaveToFile(string fileName)
      {

       System.IO.TextWriter w = new System.IO.StreamWriter(fileName);
       w.Write(_car.ToString());
       w.Flush();
       w.Close();
        }
    }
 }


Что я уже пробовал:

Это все, что я получил, проблема в том, что я не знаю, как использовать список и как просто сохранить слово, теперь, если я введу число, оно сохранит все модели.

1 Ответов

Рейтинг:
0

Graeme_Grant

Система.Окна.Forms = WinForm, а не WPF. Вы уверены, что это WPF?

Если это приложение WPF, то прочтите его, чтобы ответить на ваш вопрос: Учебник WPF - The SaveFileDialog[^]

Если это приложение WinForm, то прочтите его, чтобы ответить на ваш вопрос: Как сохранить файлы с помощью компонента SaveFileDialog | Microsoft Docs[^]

Что касается списка и класс StringBuilder[^], Ваша строка вывода не имеет разделителей в имени, поэтому разбор данных обратно будет проблематичным. Это будет выглядеть так:

HondaToyotaFiatFerrari

Вам нужно иметь разделитель, чтобы отделить их друг от друга:
var cars = new string[] { "Honda", "Toyota", "Fiat", "Ferrari" };

var outString1 = String.Join(", ", cars);

// or

var outString2 = String.Join(Environment.NewLine, cars);