2011-11-13 8 views
8

मैं स्पष्टीकरण की जरूरत है .. मैं वेब अनुप्रयोगों के लिए सी # .NET का उपयोग कर, मैं हमेशा लिखें:शून्य के लिए 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 है हो जाएगा ।

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

as string अनावश्यक है के रूप में Request.QueryString["foo"] पहले से ही एक स्ट्रिंग है: इंडेक्सर वापस जाने के लिए एक string परिभाषित किया गया है। (तो दूसरे की तुलना में कोई दूसरा अंतर नहीं है जैसा आप दिखते हैं कि आप अपने ढांचे को नहीं जानते ;-))

संबंधित मुद्दे