如何将整数序列化为 ApplicationDataContainer
How to serialize integer to ApplicationDataContainer
我正在将一款旧游戏移植到 Windows 10 商店应用程序。
我可以写入然后读取字符串到应用程序设置:
ApplicationDataContainer^ localSettings = ApplicationData::Current->LocalSettings;
localSettings->Values->Insert("keyS", "hello");
String^ valueS = safe_cast<String^>(localSettings->Values->Lookup("keyS"));
我也可以放int
值:
localSettings->Values->Insert("keyI", 123);
但是我该如何阅读呢?
??? valueI = safe_cast<???>(localSettings->Values->Lookup("keyI"));
Lookup
returns Platform::Object^
, 那么如何将其转换为 int
?
它是一个 IBox
-- 相当于 .NET 中的 "nullable"。
auto localSettings = ApplicationData::Current->LocalSettings;
localSettings->Values->Insert(L"forty-two", (int)42);
auto forty_two = static_cast<Platform::IBox<int>^>
(localSettings->Values->Lookup(L"forty-two"));
if (forty_two != nullptr)
{
int value = forty_two->Value;
// use value
}
我正在将一款旧游戏移植到 Windows 10 商店应用程序。 我可以写入然后读取字符串到应用程序设置:
ApplicationDataContainer^ localSettings = ApplicationData::Current->LocalSettings;
localSettings->Values->Insert("keyS", "hello");
String^ valueS = safe_cast<String^>(localSettings->Values->Lookup("keyS"));
我也可以放int
值:
localSettings->Values->Insert("keyI", 123);
但是我该如何阅读呢?
??? valueI = safe_cast<???>(localSettings->Values->Lookup("keyI"));
Lookup
returns Platform::Object^
, 那么如何将其转换为 int
?
它是一个 IBox
-- 相当于 .NET 中的 "nullable"。
auto localSettings = ApplicationData::Current->LocalSettings;
localSettings->Values->Insert(L"forty-two", (int)42);
auto forty_two = static_cast<Platform::IBox<int>^>
(localSettings->Values->Lookup(L"forty-two"));
if (forty_two != nullptr)
{
int value = forty_two->Value;
// use value
}