我有一个Generic::List(String^)^ myList
和一些std::string & myValue
值,我需要检查这些值是否都包含在列表中。 (我不想在列表中添加值。)
我该怎么做以代替myList->Contains(myValue)
以确保我正在比较字符串的内容?
我知道我可以使用InteropServices来编组列表中的每个元素。
如果有帮助的话,我可以将Generic :: List转换为cli :: array!
由于 梅拉妮
答案 0 :(得分:0)
从List<T>::Contains(T)
文档(C#文档,但不影响任何内容):
此方法通过使用默认的相等比较器来确定相等性,这是由对象的T的IEquatable.Equals方法的实现(列表中值的类型)定义的。
由于String::Equals(String^)
会比较字符串的内容,所以只需将std::string
转换为System::String^
。你可以用marshal_as
做到这一点,你应该做得很好。