Linq表达式返回null

时间:2018-02-16 12:23:36

标签: c# linq xamarin lambda

我在备忘录Xamarin应用程序中添加了一个搜索栏。我使用此事件处理程序在文本更改时获取备忘录列表:

private void SearchBar_OnTextChanged(object sender, TextChangedEventArgs e)
    {
        MemoList.ItemsSource = GetMemo(e.NewTextValue);
    }

处理程序调用{​​{1}}函数但是当我在GetMemo变量中有一个值时,该函数返回null并且我不知道为什么。

searchText

Lambda表达式或Linq表达式有问题吗?

我不得不说当我没有传递任何参数时函数会正确返回。

1 个答案:

答案 0 :(得分:8)

试试这个:

return new ObservableCollection<Memo>(_memos.Where(c => c.Title.StartsWith(searchText));

您必须围绕来自linq表达式的IEnumerable结果包装ObservableCollection。只需将IEnumerable结果作为ObservableCollection构造函数参数传递。