c# – 尝试获取集合中的第一个项目返回NULL
发布时间:2020-12-15 20:51:34 所属栏目:百科 来源:网络整理
导读:我之前使用Stored Procs进行了大量的开发来进行所有数据修改. 但我现在需要使用LINQ To SQL,而基本的基本任务让我感到难过. 我有一个名为Book(Title,Author等)的课程.实例化并添加了许多书籍 public ObservableCollection Books 到目前为止一切顺利,我可以看
我之前使用Stored Procs进行了大量的开发来进行所有数据修改.
但我现在需要使用LINQ To SQL,而基本的基本任务让我感到难过. 我有一个名为Book(Title,Author等)的课程.实例化并添加了许多书籍 到目前为止一切顺利,我可以看到它在其藏品中保存了有效的书籍. 我有一个函数DeleteOldestBook(),它只是获取书籍中的第一本书,并删除.这是我遇到麻烦的地方. 我尝试选择 Book BookToDelete = Books.Take(1) as Book; 但它总是返回NULL. 我做了一个hacky解决方法: var AllBooks = from BookToDelete in Books select BookToDelete; foreach (Book BookToDelete in AllBooks) { // BookToDelete.dostuff takes place ... break; // only do 1 } 但这太糟糕了,我知道我错过了一些简单的东西. LINQ专家的任何想法?如果您需要更多代码,请告诉我们. 提前致谢 解决方法Take 将返回一个包含n个元素的集合.您仍然需要迭代该集合.在您的情况下,集合大小为1.
额外信用 如果您的集合尚未排序,请使用 Book bookToDelete = Books.OrderBy(b => b.SomeDate).First(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |