宣言の書き方


たま  2008-02-26 23:48:11  No: 139079

VBからVB.netへ移行中なのですが、
本当に、初歩的な質問ですみません。

あるサンプルプログラムから抽出したのですが、

FileName = g_DefPath & "\項目1.def"
Dim Reader As New IO.StreamReader(FileName,System.Text.Encoding.GetEncoding("Shift-JIS"))

'通常文字の属性読み
        g_strkoumoku1 = Reader.ReadLine
        Reader.Close()

FileName = g_DefPath & "\項目2.def"
Dim Reader As New IO.StreamReader(FileName,System.Text.Encoding.GetEncoding("Shift-JIS"))

reader変数をNewでインスタンスを作成していると思うのですが、
項目1でreaderを使うと、readerって変数で項目2を読めません。

どういうコードなら、同じ変数名で、
ファイルを読みこむ事が出来るのでしょうか?


魔界の仮面弁士  2008-02-26 23:54:47  No: 139080

そもそも、
  Dim X As New ClassName(引数)
というコードは、
  Dim X As ClassName = New ClassName(引数)
の省略表記にあたります。

それをさらに分解すれば、
  Dim X As ClassName
  X = New ClassName(引数)
とも書けます。

すなわち今回の場合、2 回目の Reader は、Dim で「宣言」するのではなく、
  Reader = New IO.StreamReader(FileName,System.Text.Encoding.GetEncoding("Shift-JIS"))
のような記述になるでしょう。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加