- PR -

System.Net.HttpStatusCode列挙値について

1
投稿者投稿内容
CHX99
会議室デビュー日: 2007/05/18
投稿数: 12
投稿日時: 2008-11-06 13:01
こんにちは。
困ってはいないのですが、ちょっと気になったので投稿します。

using System.Net;
...
foreach( object osc in Enum.GetValues( typeof( HttpStatusCode ) ) )
{
HttpStatusCode sc = ( HttpStatusCode )osc;
Console.Out.WriteLine( string.Format( "{0} = {1}", ( int )sc, sc.ToString() ) );
}

これはHttpStatusCode列挙値の一覧を表示させるC#のロジックですが、一部の値が重複表示されます。なぜでしょう?

私の場合、300 = Ambiguous など、300番台のコードで5個、2回表示されるものがあります。

環境は Windows XP SP2, Visual Studio 2008 (.Net Framework 3.5) です。
ご存知の方がおられましたら、後学のためご教授願います。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2008-11-06 13:30
同じ値で別の名前のものが存在するからです。
例えば 307 なら TemporaryRedirect のほかに RedirectKeepVerb が定義されています。
Enum.GetNames で全ての名前を取得できます。
CHX99
会議室デビュー日: 2007/05/18
投稿数: 12
投稿日時: 2008-11-06 14:01
Hongliangさん、早速のご回答、ありがとうございます。
ご指摘の通り、確認できました。
1

スキルアップ/キャリアアップ(JOB@IT)