2008年08月18日
川俣晶の縁側ソフトウェア技術雑記total 3596 count

.NET FrameworkのTextReader.ReadToEnd メソッドはnullを返さない

Written By: 川俣 晶連絡先

 非常に今更感のある話ですが。ReadToEnd メソッドはほとんど使ったことがなかったので、改めて調べてみました。

ReadToEnd メソッドの戻り値 §

 ReadLineメソッドはEOFの場合nullを返します。ドキュメントにもそう書いてあります。

 しかし、ReadToEnd メソッドは「nullを返す」とは書かれていません。「現在位置から TextReader の末尾までのすべての文字を含む文字列」と書かれているだけです。

 ならば、現在位置がEOFなら空文字列を返してくれる?

検証ソース §

using System;

using System.IO;

class Program

{

    static void Main(string[] args)

    {

        var reader = new StringReader("a\r\n");

        Console.WriteLine(reader.ReadLine() == null);

        Console.WriteLine(reader.ReadLine() == null);

        string s = reader.ReadToEnd();

        Console.WriteLine(s == null);

        Console.WriteLine(s.Length);

    }

}

実行結果 §

False

True

False

0

結果 §

 というわけで、ReadLineメソッドがnullを返すケースでも、ReadToEndメソッドは実体のある空文字列オブジェクトを返してきたのでした。

感想 §

 .NET Framework 1.0からサポートされたメソッドでも、知らないことは多い!

 油断禁物!! (自戒の言葉)

Facebook

キーワード【 川俣晶の縁側ソフトウェア技術雑記
【技術雑記】の次のコンテンツ
2008年
08月
26日
ACID Pro 4.0を今時アクティベーションする方法
3days 0 count
total 4937 count
【技術雑記】の前のコンテンツ
2008年
08月
08日
ASP.NET 開発サーバーでHTTPモジュールを動作させる方法
3days 0 count
total 4353 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20080818122441
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.33 (Alpha-Test) Copyright (c) 2004-2018 Pie Dey.Co.,Ltd.