列表.在可移植类库中存在缺失
本文关键字:存在 类库 可移植 列表 | 更新日期: 2023-09-27 18:18:28
我正在创建一个可移植类库(PCL),我试图使用List.Exists()和List.TrueForAll(),但我被告知System.Collections.Generic.List不包含Exists或TrueForAll的定义。我正在创建的PCL可以在。net 4.5、Silverlight 4、Windows Phone 7.5、Mono Android和Mono iOS上工作。我是不是漏掉了什么?
注意:这段代码是在我制作的。net 4.0库中工作的。
返回错误的代码示例:
List<object> set0;
List<object> set1;
if (set0.TrueForAll(obj0 => set1.Exists(obj1 => obj0.Equals(obj1))))
return true;
if(!(set0.Exists(obj0 => !set1.Exists(obj1 => obj0.Equals(obj1)))))
return true;
错误收到:
错误:"System.Collections.Generic。列表'不包含定义'Exists',并且没有扩展方法'Exists'接受类型"System.Collections.Generic.List"的第一个参数可以找到(您是否缺少using指令或程序集?参考?)
错误:"System.Collections.Generic。列表'不包含定义'TrueForAll'并且没有扩展方法'TrueForAll'接受类型的第一个参数"System.Collections.Generic。可以找到一个列表(你是吗缺少using指令或程序集引用?)
你似乎在试图确定,以一种繁琐的方式,如果set0
是set1
的子集(数学上)。如果您将类型从List<>
更改为HashSet<>
或SortedSet<>
,您将免费获得此功能。
否则,考虑使用
set0.Except(set1).Any()
从Linq 。
我不确定哪些方法存在于可移植类库(PCL)中,但根据List<>.Exists
文档,这种方法确实存在。还有我提到的Linq方法