C# &引用;字符串不包含“值”的定义;

C# &引用;字符串不包含“值”的定义;,c#,C#,我正在app.config中提取keyUri键的值,并查看此语法,以及在执行连接字符串时使用此语法。在C#的以下代码段(System.Configuration已添加,并且已添加DLL)中,我收到以下错误: C# app.config <?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".

我正在app.config中提取
keyUri
键的值,并查看此语法,以及在执行连接字符串时使用此语法。在C#的以下代码段(
System.Configuration
已添加,并且已添加DLL)中,我收到以下错误:

C#

app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <appSettings>
    <add key="keyUri" value="test" />
  </appSettings>
</configuration>

基于代码,它应该在
中查找,并返回键
keyUri
的值。相反,我得到一个错误声明

“字符串不包含值的定义”


ConfigurationManager.AppSettings
将数据存储为KeyValuePair,因此通过指定密钥,您将获得值。这样使用很好:

string keyUri = ConfigurationManager.AppSettings["keyUri"]

这意味着
ConfigurationManager.AppSettings[“keyUri”]
将返回一个字符串,当您将
.Value
附加到此行时,您要求编译器获取字符串的Value属性,因此它表示“字符串不包含值的定义”。通过使用上述代码,您将在字符串变量
keyUri

中获得所需的值
ConfigurationManager.AppSettings
将数据存储为KeyValuePair,因此通过指定密钥,您将获得值。这样使用很好:

string keyUri = ConfigurationManager.AppSettings["keyUri"]
string keyUri = ConfigurationManager.AppSettings["keyUri"];

这意味着
ConfigurationManager.AppSettings[“keyUri”]
将返回一个字符串,当您将
.Value
附加到此行时,您要求编译器获取字符串的Value属性,因此它表示“字符串不包含值的定义”。通过使用上述代码,您将在字符串变量
keyUri
中获得所需的值

string keyUri = ConfigurationManager.AppSettings["keyUri"];
这会给你结果

这将给您一个结果

是一个错误。当您访问它时,它返回一个
字符串
<代码>字符串没有属性
,在这种情况下,返回的字符串就是值

因此,只需省略
.Value

string keyUri = ConfigurationManager.AppSettings["keyUri"];
这是一个很好的例子。当您访问它时,它返回一个
字符串
<代码>字符串没有属性
,在这种情况下,返回的字符串就是值

因此,只需省略
.Value

string keyUri = ConfigurationManager.AppSettings["keyUri"];

很明显,没有其他人已经提到的属性
。所以你应该像这样访问它

 string keyUri = ConfigurationManager.AppSettings["keyUri"];

但是我想您是想调用下面这样的
GetValues()
方法,因为
ConfigurationManager.AppSettings
返回一个
NameValueCollection

string keyUri = ConfigurationManager.AppSettings.GetValues("keyUri");

很明显,没有其他人已经提到的属性
。所以你应该像这样访问它

 string keyUri = ConfigurationManager.AppSettings["keyUri"];

但是我想您是想调用下面这样的
GetValues()
方法,因为
ConfigurationManager.AppSettings
返回一个
NameValueCollection

string keyUri = ConfigurationManager.AppSettings.GetValues("keyUri");

您确定app.config已复制到应用程序文件夹吗?
ConfigurationManager.AppSettings[string key]
返回
string
。只需删除
.Value
就可以在
keyUri
变量中得到“test”答案就在错误消息中。但您也可以咨询-
ConfigurationManager.AppSettings[“keyUri”]
返回字符串。是否确实已将app.config复制到应用程序文件夹?
ConfigurationManager.AppSettings[string key]
返回
string
。只需删除
.Value
就可以在
keyUri
变量中得到“test”答案就在错误消息中。但您也可以咨询--
ConfigurationManager.AppSettings[“keyUri”]
返回一个字符串。您更改了什么?为什么这能解决问题?你改变了什么?为什么这能解决问题?