2

試験 70-536 の模擬試験を受けています。以下はスクリーンショットです。黄色で強調表示されている部分は、試験で正解と示されているものです。ラジオボタンが選択されているものが、私が思っていた答えです。

ステートメントを含む下部の説明に注意してください。

オブジェクトを作成するには、 のインスタンスなどStreamWriter、既存のオブジェクトを使用する必要があります。StreamFileStream

私が選んだ答えが最も効率的な使い方だと思いますし、説明の文言は間違っていると思います。明らかに、選択した回答のコードが正常に機能したためです。

誰が正しいですか????

ここに画像の説明を入力

4

2 に答える 2

2

選択した回答では、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");
}
于 2011-05-14T21:42:53.100 に答える
0

その通りです - FileStream は TextWriter から継承しないため、TextWriter を FileStream のインスタンスと等しく設定することはできません - StreamWriter は TextWriter から継承するため、FileStream に基づいて StreamWriter を使用する必要があります

于 2011-05-14T21:42:59.573 に答える