验证本地存储变量是否存在的正确方法是什么? -XAMARIN

时间:2018-10-16 09:32:09

标签: xamarin xamarin.forms

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

出什么问题了?这就是我在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";

        }

这不起作用,因为变量根本不存在。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您可以通过以下方式进行检查:

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

答案 1 :(得分:1)

您可以先检查它是否存在,然后再进行逻辑分配。

if (App.Current.Properties.Exists("logStatus"))