strFileName в диалоге открытия файла

Я довольно новичок в C#.

Мой вопрос, что такое strFileName в диалоге открытия файла?

У меня есть этот код в настоящее время:

 string input = string.Empty;

        OpenFileDialog open = new OpenFileDialog();

        open.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.* ";

        open.InitialDirectory = "C:";

        if (open.ShowDialog() == DialogResult.OK)

            strFileName = open.FileName;

        if (strFileName == String.Empty)

            return; 

Это вызывает ошибку на strFileName. я не могу найти объяснение того, что он делает в этом коде.

Буду признателен за любую помощь, и я прошу прощения, если этот вопрос был задан ранее.

4 ответа

Решение

Не зная, что это за ошибка, просто взглянув на ваш код, вы, вероятно, получите ошибку компиляции в strFileName, потому что она не объявлена:

Вы можете изменить свой код на это:

string input = string.Empty;

OpenFileDialog open = new OpenFileDialog();

open.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.* ";

open.InitialDirectory = "C:";

if (open.ShowDialog() == DialogResult.OK)

   input = open.FileName;

if (input == String.Empty)

   return; 

Или это:

string strFileName = string.Empty;

OpenFileDialog open = new OpenFileDialog();

open.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.* ";

open.InitialDirectory = "C:";

if (open.ShowDialog() == DialogResult.OK)

   strFileName = open.FileName;

if (strFileName == String.Empty)

   return; 

Вам нужно сначала объявить strFileName

string strFileName = string.empty();

тогда используйте это.

Вам необходимо объявить переменную strFilename в виде строки:

string strFileName = string.Empty;
OpenFileDialog open = new OpenFileDialog();
open.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.* ";
open.InitialDirectory = "C:";
if (open.ShowDialog() == DialogResult.OK)
{
    strFileName = open.FileName;
} 
/* you probably don't want this unless it's part of a larger block of code
if (strFileName == String.Empty)
{
    return; 
}
*/

return strFileName;

Это не дает мне ошибки - хотя я должен был объявить это. А вы?

    string strFileName = "";  // added this line - it compiles and runs ok

    private void TestFunc()
    {
        string input = string.Empty;

        OpenFileDialog open = new OpenFileDialog();

        open.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.* ";

        open.InitialDirectory = "C:";

        if (open.ShowDialog() == DialogResult.OK)

            strFileName = open.FileName;

        if (strFileName == String.Empty)

            return;
    }
Другие вопросы по тегам