【发布时间】:2015-03-02 22:05:59
【问题描述】:
如果我填写了所有四个字符串,我有以下代码可以正确返回。但是,如果这些字符串之一为空,则返回的列表为空。基本上,即使有 1 个或更多甚至所有字符串为空,我也需要它返回一个列表。
private List<Search> FilterSearchResults(List<Search> results)
{
string _dataType = cmbISDataType.SelectedItem.ToString();
string _medium = cmbISMedium.SelectedItem.ToString();
string _pStatus = cmbISPStatus.SelectedItem.ToString();
string _rStatus= cmbISRStatus.SelectedItem.ToString();
return results
.Where(a => a.Data_Type == _dataType && !string.IsNullOrWhiteSpace(_dataType))
.Where(b => b.Medium == _medium && !string.IsNullOrWhiteSpace(_medium))
.Where(c => c.PStat== _pStatus && !string.IsNullOrWhiteSpace(_pStatus ))
.Where(d => d.RStatus== _rStatus && !string.IsNullOrWhiteSpace(_rStatus))
.ToList();
}
提前致谢。
【问题讨论】:
-
如果所有字符串都为空,列表中应该包含什么?如果其中两个是空的,两个不是?
-
仅供参考,另请参阅 stackoverflow.com/questions/5188780/… 以讨论是否链接
Where子句或仅使用&&更好。 -
@NadiaChibrikova 如果所有字符串为空,我希望它返回相同的结果。