使用字符串作为参数的一部分

本文关键字:参数 一部分 字符串 | 更新日期: 2023-09-27 18:33:25

如果不清楚,对不起。现在我的代码是这样的:

IPAddress address = IPAddress.Parse(Properties.Settings.Default.NA);

我想做的是用列表框中的选定项替换末尾的 NA。我可以通过做访问它

listBox1.SelectedItem.ToString();

listBox1 将包含诸如 NA、EU、LAN 等项目,我想要它,以便我可以做这样的事情

IPAddress address = IPAddress.Parse(Properties.Settings.Default.listBox1.SelectedItem.ToString());

但我不确定它是否会起作用。有人可以建议我解决这个问题的方法吗?

谢谢!

使用字符串作为参数的一部分

IPAddress address  = IPAddress.Parse(Settings.Default.Properties[listBox1.SelectedItem.ToString()].DefaultValue);

根据您的评论,我相信您的列表框中有一个string值,该值映射到Properties。在属性中,存在包含IPAddress的实际字符串。

由于您可以访问:Properties.Settings.Default.NA,因此您也可以访问基于索引的属性,这将是字符串键的名称。所以使用:

IPAddress address  = IPAddress.Parse(
            Properties.Settings.Default[listBox1.SelectedItem.ToString()].ToString());

您可以添加一些检查以查看您是否确实拥有该属性。喜欢:

string listBoxItem = listBox1.SelectedItem.ToString();
var valueFromProperty = Properties.Settings.Default[listBoxItem];
if (valueFromProperty != null)
{
    IPAddress address = IPAddress.Parse(valueFromProperty.ToString());
}

最简单的方法是使用枚举作为列表框的数据源:

listBox1.DataSource = Enum.GetValues(typeof(EnumType));

然后所选项目实际上将是枚举值:

EnumType item = (EnumType)listBox1.SelectedItem;

确保将 EnumType 替换为枚举的任何类型。