【问题标题】:How better check Request.QueryString string parameter for null?如何更好地检查 Request.QueryString 字符串参数是否为空?
【发布时间】:2011-11-13 21:25:30
【问题描述】:

我需要解释.. 我使用 C#.NET 开发 Web 应用程序,我总是这样写:

 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)) 

有什么区别?

【问题讨论】:

    标签: c# asp.net .net string


    【解决方案1】:

    第一个更好:

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

    如果调用的结果不是字符串,则第二个版本返回null,但您知道它总是将是一个字符串,因为QueryString 成员的类型为NameValueCollection。索引器被定义为返回一个string:

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

    【讨论】:

      【解决方案2】:

      as string 是多余的,因为 Request.QueryString["foo"] 已经是一个字符串。 (所以除了第二个让你看起来你不知道你的框架之外没有其他区别;-))

      【讨论】:

        猜你喜欢
        • 2010-09-27
        • 2011-11-25
        • 2012-03-23
        • 2011-05-23
        • 2015-06-12
        • 2015-12-05
        相关资源
        最近更新 更多