Carl
Carl

Reputation: 11

String as a file name C#

I have a problem writing a program in C#.

I want to to save string variables from a ListBox1 to textfile, which is named after the item from ListBox2, like here:

Write = new StreamWriter(xxxxx);
for (int I = 0; I < ListBox1.Items.Count; I++)
{
    Text = (SubCategories.Items[I]).ToString();
        Write.WriteLine(Text);
}
Write.Close();

What should I replace xxxxx to have there ListBox2.SelectedItem, for example to make file "test.txt".

Upvotes: 1

Views: 426

Answers (1)

Austin Salonen
Austin Salonen

Reputation: 50225

You can replace xxxxx with this:

var path = Path.Combine(Environment.CurrentDirectory, ListBox2.SelectedItem.ToString());

using (var writer = new StreamWriter(path))
{
    for (int I = 0; I < ListBox1.Items.Count; I++)
    {
        Text = (SubCategories.Items[I]).ToString();
        writer.WriteLine(Text);
    }
}

You should use a using with IDisposable objects.

Upvotes: 4

Related Questions