2

Windows.Foundation.Collections有一個稱爲PropertySet集合根據MSDN具有lookup方法,它返回:UWP:屬性集查找拋出異常

的值,如果具有指定鍵的項是否存在; 否則爲空

當我嘗試以下方法,我得到一個(意外)例外:

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上找到關於此問題的任何內容。

我在這裏做錯了什麼,或者這是Microsoft bug \錯誤的文檔?

編輯:

1-我使用的窗口10與SDK版本10.0.10240.0

2-我使用C++/CX,而不是C#(如果這是不明確的)

+0

可能是C#語言不支持查找?使用支持 –

回答

4

文檔不正確。我會要求它是固定的。如果密鑰不存在,Lookup將產生一個Platform::OutOfBoundsException(內部:E_BOUNDS)。要檢查是否存在密鑰,請使用HasKey方法。

+0

的[TryGetValue](https://msdn.microsoft.com/en-us/library/windows/apps/windows.foundation.collections.propertyset.trygetvalue.aspx)謝謝。因爲我不確定它是否還沒有標記爲答案。 – ZivS