与String.IsNullOrEmpty()相反或另一种方式

时间:2014-01-17 10:17:35

标签: asp.net .net

我写了这个脚本,有效:

if (String.IsNullOrEmpty(item.Description))
{
    tbItemInput.Rows.Add(tbRow2);
    tbItemInput.Rows.Add(tbRow3);
    tbItemInput.Rows.Add(tbRow4);
    tbItemInput.Rows.Add(tbRow5);
}
else if (item.Description.Equals("euro"))
{
    tbItemInput.Rows.Add(tbRow4);
    tbItemInput.Rows.Add(tbRow5);
    tbItemInput.Rows.Add(tbRow2);
    tbItemInput.Rows.Add(tbRow3);
}
else // I assume that this will always be "euro6" entry
{
    tbItemInput.Rows.Add(tbRow2);
    tbItemInput.Rows.Add(tbRow3);
    tbItemInput.Rows.Add(tbRow4);
    tbItemInput.Rows.Add(tbRow5);
}

但我真的不喜欢它,但由于我是一名php程序员,我不知道如何在ASP.NET中正确编写

这个想法是,如果值item.Description不存在或者是“euro6”,它有一个选项,但是,如果值是“euro”,那么另一个选项。 在PHP中,我会这样做

if ( $description == "euro" ) {
    // first option
} else {
    // second option
}

但在.NET中,如果未设置该值,则会出现错误,因此我做了一个不好的解决方法。

我可以获得一些帮助,使其成为正确的方法吗?

3 个答案:

答案 0 :(得分:3)

“我收到错误”相当模糊 - 如果您使用NullReferenceException,则会获得item.Description.Equals("euro")),但这应该没问题:

if (item.Description == "euro")
{
    tbItemInput.Rows.Add(tbRow4);
    tbItemInput.Rows.Add(tbRow5);
    tbItemInput.Rows.Add(tbRow2);
    tbItemInput.Rows.Add(tbRow3);
}
else
{
    tbItemInput.Rows.Add(tbRow2);
    tbItemInput.Rows.Add(tbRow3);
    tbItemInput.Rows.Add(tbRow4);
    tbItemInput.Rows.Add(tbRow5);
}

答案 1 :(得分:1)

if (String.IsNullOrEmpty(item.Description) || item.Description == "euro6")
{
    // Euro6 or default option
}
else 
{
    // Euro option
}

甚至更简单

if (item.Description == "euro")
{
    // Euro option
}
else 
{
    // Not euro option(empty or euro6 or whatever)
}

答案 2 :(得分:0)

尝试此类代码

            if (!String.IsNullOrEmpty(item.Description))   //check for item.Description is not empty and not null
            {
               if (item.Description.Equals("euro"))   // check for determine  item.Description has contain "euro"
                {
                 /*code for when item.Description has contain "euro"*/
                }
              else
                {
                    /*code for when item.Description not contain "euro"*/
                }              
            }