Ну, вы присваиваете значение переменной, но на самом деле вы никогда не читаете из нее. Другими словами, вы можете легко удалить его, просто изменив среднее выражение на:
if (openFileDialog.OpenFile() != null)
Обратите внимание, что ваш существующий код на самом деле не читает из переменной, даже если вы думаете, что это происходит при сравнении с нулем. Это больше похоже на это:
Stream tmp = openFileDialog.OpenFile();
myStream = tmp;
if (tmp != null)
Звучит так, как будто вы, вероятно, должны использовать его, чтобы закрыть поток, если ничего больше ... хотя я бы тогда объявил об этом как можно позже, например:
using (Stream myStream = openFileDialog.OpenFile())
{
if (myStream != null)
{
_settings.TextFile = openFileDialog.FileName;
CurrentTextFile = _settings.TextFile;
}
}
Вот более простой пример той же проблемы, но такой:
using System;
class Test
{
static void Main()
{
string x;
if ((x = "Hello") != null)
{
Console.WriteLine("Yes");
}
}
}
Обратите внимание, что с уровнем предупреждения 4 (и, возможно, более низким) компилятор Microsoft C # 4 также обнаруживает:
Test.cs(7,16): warning CS0219: The variable 'x' is assigned but its value is
never used