0

我在我的 AutoCompeteBox 中使用这个过滤器。

bool SearchBird(string search, object value)
        {
            if (value != null)
            {
                AllBirds datasourceValue = value as AllBirds;
                string name = datasourceValue.primary_language;

                if (name.ToLower().StartsWith(search.ToLower()))
                return true;

            }
            // If no match, return false. 
            return false;
        } 

当所有条目都具有一定的价值时,一切都运行良好,但是当有任何空记录时,它就会崩溃,给出一个带有空异常的错误(这是可以理解的,因为没有价值)。尝试使用额外的 if 或 else 语句做某事,但仍然得到相同的错误。

4

2 回答 2

0

如果你使用if else会更好?

在 if 之后添加这个,可能会有所帮助

else {
 return false;
}
于 2012-07-10T10:55:22.870 回答
0

我就是那样做的。

if (value != null)
            {
                AllBirds datasourceValue = value as AllBirds;
                string name = datasourceValue.primary_language;

                if (name == null)
                    return false;

                if (name.ToLower().StartsWith(search.ToLower()))
                return true;

            }
            // If no match, return false. 
            return false;
于 2012-07-13T09:14:38.673 回答