2011-11-13 5 views
8

私は..私のWebアプリケーションにC#.NETを使用して、私はいつも書くの説明が必要になります。nullの場合、Request.QueryStringの文字列パラメータをどのようにチェックするか?

string val = Request.QueryString["foo"]; 

、その後

if(!string.IsNullOrEmpty(val)) 

違いは何:

string val = Request.QueryString["foo"]; 

私が勧めましたする:

string val = Request.QueryString["foo"] as string; 
if(!string.IsNullOrEmpty(val)) 

違いは何ですか?

答えて

7

は、最初は良いです:呼び出しの結果が文字列でない場合

string val = Request.QueryString["foo"]; 

番目のバージョンはnullを返しますが、あなたはQueryStringメンバーがNameValueCollectionを入力しているので、それが常には文字列になります知っています。インデクサはstringを返すように定義されています

public class NameValueCollection : NameObjectCollectionBase 
{ 
    // ... 
    public string this[string name] { get; set; } 
    // ... 
} 
3

Request.QueryString["foo"]がすでに文字列であるようas stringが冗長です。 (したがって、2つ目の違いはあなたのフレームワークを知らないように見えます;-))

関連する問題