首页 > 解决方案 > 验证本地存储变量是否存在的正确方法是什么?- 赛马林

问题描述

嗨,我正在做一个具有登录功能的应用程序,即使您关闭该应用程序,它也可以选择让您保持登录状态。

问题是什么?这就是我在 App.cs 中所做的:

  var statusLog = Application.Current.Properties["logStatus"].ToString();
        if (statusLog == "F")
        {
            Application.Current.MainPage = new NavigationPage(new LoginPage());

        }
        else
        {
            var userStore = (Application.Current.Properties["user"].ToString());
            Task.Run(() =>  lp.GetTokenLogin()).Wait();

            MainPage = new NavigationPage(new ConfirmarViatura(userStore));




        }

它工作正常,但它们是一种不起作用的情况,即如果我第一次在设备中运行应用程序,它会给我一个异常,即局部变量“logStatus”不存在。我知道它不存在,但我该如何进行验证? 我不能这样做

          if (Application.Current.Properties["logStatus"].Equals(null))
        {
            Application.Current.Properties["logStatus"] = "F";

        }

这不起作用,因为变量甚至不存在。有任何想法吗?

标签: xamarinxamarin.forms

解决方案


你可以这样检查:

if (Application.Current.Properties.ContainsKey("logStatus"))
{
    var statusLog = Application.Current.Properties["logStatus"] as string;
    // rest of your code
}

推荐阅读