В выбранном вами ответе есть разница между версией C # и VB.NET. Версия VB.NET даже не скомпилируется, тогда как C # верен.
Это не скомпилируется:
Dim tw as TextWriter = New FileStream("Hello.dat", FileMode.Create)
Это нормально:
TextWriter tw = new StreamWriter("Hello.dat");
Последний ответ исключен, поскольку TextWriter является абстрактным классом, и вы не можете создать его экземпляр напрямую.
Но, очевидно, правильного ответа, который вы бы использовали в реальных приложениях, даже нет в списке. Было бы:
using (var writer = new StreamWriter("Hello.dat"))
{
writer.Write("Hello world");
}
или если вам нужно использовать Stream
:
using (var stream = File.Create("Hello.dat"))
using (var writer = new StreamWriter(stream))
{
writer.Write("Hello world");
}