什么类型的变量Properties.Settings.Default c#wpf

本文关键字:Settings Default c#wpf Properties 变量 类型 什么 | 更新日期: 2023-09-27 17:57:55

我有一个到设置"Properties。Settings.Default.Password1"answers"Properties。Settings。Default.Password2"的路径。

现在我想使用其中一条路径。我使用以下代码:

If (certain condition)
{
kindOfVariable passwordPath = Properties.Settings.Default.Password1
}
else
{
kindOfVariable passwordPath = Properties.Settings.Default.Password2
}

好吧,我知道密码是一个字符串,这没问题,但我想要路径。

但是我必须使用什么样的变量呢?或者有其他方法可以做到这一点吗?

通常你会保存这样的新值:

Properties.Settings.Default.passwordPath = "New Password";
Properties.Settings.Default.Save();

我想对路径做的是在该路径上给定一个新值,例如

passwordPath = "New Password";
Properties.Settings.Default.Save();

什么类型的变量Properties.Settings.Default c#wpf

如果您使用的是C#3.0或更高版本,var是一个不错的选择。

这会导致编译器从初始化语句右侧的表达式中自动推断出局部变量的类型。

if (certain condition)
{
   var Passwordpath = Properties.Settings.Default.Password1
}
else
{
   var Passwordpath = Properties.Settings.Default.Password2
}

否则,请将鼠标悬停在开发环境中初始化语句(例如Password1)的右侧。您应该看到一个提供其类型的工具提示。用那个。


(离题建议:按照微软C#和.NET代码风格指南的建议,使用camelCasing命名本地变量。Passwordpath变量实际上应该是passwordPath。)


编辑以回答更新的问题:

最简单的方法就是反转逻辑。与其尝试存储属性的地址并稍后将其设置为新值,不如将新值存储在临时变量中,并使用它直接设置属性。也许用一些代码来解释会更容易。。。

// Get the new password
string password = "New Password";
// Set the appropriate property
if (certain condition)
{
   Properties.Settings.Default.Password1 = password;
}
else
{
   Properties.Settings.Default.Password2 = password;
}
// Save the new password
Properties.Settings.Default.Save();

您可以始终使用var-使编译器为您决定实际类型(在编译时,因此IntelliSense等仍然可以利用静态类型)。

var Passwordpath = Properties.Settings.Default.Password1

我真的不确定你想做什么。