C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.94818 の関連記事表示

<< 0 >>
■94818  Re[7]: Excelの指定範囲の内容を表形式で表示
□投稿者/ 魔界の仮面弁士 -(2020/05/21(Thu) 21:14:36)
    No94817 (temaki さん) に返信
    > また、Usingって、複数のIDisposableオブジェクトを1行で書けるんですね。

    MemoryStream や StringReader のインスタンスに対しては、
    Dispose を呼ばなかったとしても問題ないのですけれどね。
    もちろん呼んでも OK ですが。

    https://docs.microsoft.com/ja-jp/dotnet/api/system.io.stringreader?view=netframework-4.5.1
    |
    | この型は IDisposable インターフェイスを実装しますが、実際に破棄するリソースはありません。
    | つまり、Dispose() を直接呼び出したり、using (C# の場合) または Using (Visual Basic の場合) といった
    | 言語構築を行ってリソースを破棄する必要はありません。
    |


    > 僕はUsingをネストしてしまう所でしたが、これは勉強になりました。

    対象オブジェクトが 3 つ 4 つと増えると、構文的に使いにくいですけれどね。
    これが C# であれば、
     using (var reader = new StringReader(tsvData))
     using (var parser = new TextFieldParser(reader))
     {
        DoAnything(parser);
     }
    の構文が使えるのですが。



    とはいえ今回のケースであれば、単一の Using にて、
     Using parser As New TextFieldParser(New StringReader(tsvData))
      DoAnything(parser)
     End Using
    という形をとることができます。こっちの方がスマートかもしれません。
    あるいは parser.Close() 派の方もおられるようで。
記事No.94790 のレス / END /過去ログ164より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -