bul*_*ous 2 c# asp.net webforms
假设我有一个User对象列表,其中包含两个属性... ID和Name
List<User> lst = List<User>();
Run Code Online (Sandbox Code Playgroud)
我填写了一堆用户.好的,现在我想使用RemoveAll()和此函数修剪我的列表.
private Boolean IsExisting(int id) {
//blah blah
return true;
//blah blah
return false;
}
Run Code Online (Sandbox Code Playgroud)
所以我用这句话:
gdvFoo.DataSource = lst.RemoveAll(t => IsExisting(t.ID));
Run Code Online (Sandbox Code Playgroud)
我的理解是,每当IsExisting返回true时,该元素应该从lst中删除,但是会发生什么,奇怪的是,它返回一个整数?,而不是截断的列表,我收到以下错误消息:
数据源是无效类型.它必须是IListSource,IEnumerable或IDataSource.>
RemoveAll()返回删除的元素数.你需要这样做:
lst.RemoveAll(t => IsExisting(t.ID));
gdvFoo.DataSource = lst;
Run Code Online (Sandbox Code Playgroud)