Windows.Foundation.Collections
有一个名为PropertySet
的集合,根据MSDN有一个lookup
方法返回:
如果存在具有指定键的项目,则为该值; 否则,null 。
当我尝试以下操作时,我得到(意外)异常:
try
{
auto propertySet = ref new Windows::Foundation::Collections::PropertySet();
auto something = propertySet->Lookup("nothing");
if (something != nullptr)
{
// Something was found :|
}
else
{
// Found nothing :)
}
}catch(Platform::Exception^ e)
{
//Exception: e->Message
}
和e->Message
是:
该操作尝试访问有效范围之外的数据
我在MSDN上找不到关于此问题的任何内容。
我在这里做错了什么,或者这是微软错误\错误的文档?
编辑:
1-我正在使用带有SDK版本10.0.10240.0的Windows 10
2-我使用的是C ++ / CX,而不是C#(如果不清楚的话)
答案 0 :(得分:4)
文档不正确。我会要求修复它。如果密钥不存在,Lookup
会引发Platform::OutOfBoundsException
(内部:E_BOUNDS
)。要检查密钥是否存在,请使用HasKey
方法。