Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#:导致错误:具有其值包含&;的字符串变量;?_C#_String - Fatal编程技术网

C#:导致错误:具有其值包含&;的字符串变量;?

C#:导致错误:具有其值包含&;的字符串变量;?,c#,string,C#,String,编辑:我已经编辑了我的帖子 在处理一个项目(c#)时,我在一个XML文件(app.config)中有一个字符串(密码),它的值包含“&”字符。假设它是这样的: <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="MainConnectionString" value="Data Source=MyDataSource;

编辑:我已经编辑了我的帖子

在处理一个项目(c#)时,我在一个XML文件(app.config)中有一个字符串(密码),它的值包含“&”字符。假设它是这样的:

<?xml version="1.0" encoding="utf-8" ?>
  <configuration>
     <appSettings>
        <add key="MainConnectionString" value="Data Source=MyDataSource;InitialCatalog=MyInitialCatalog;User ID=MyUserID;Password=ynhub&59=k31!890" />
    </appSettings>
  </configuration>

但编译器向我显示了一个错误,59下出现了一条弯曲的蓝线,表示“字符5十六进制值在XML名称中是非法的”


如何删除此错误?

您想到的&不是字符串的一部分,而是源代码的一部分。仔细阅读代码,注意任何引号的位置…

您想到的&不是字符串的一部分,而是源代码的一部分。仔细阅读代码,注意任何引号的位置…

XML以&字符开始特殊字符,即著名的&;,()

因此,如果不将XML转换为&;,则无法在XML中使用&;。例如,即使在HTML链接中,也不允许(但仍然很常见)编写:

<a href="foo.php?foo=bar&bar=baz">

它必须写为:

<a href="foo.php?foo=bar&amp;bar=baz">


没有人这样做,但HTML和XML都是这样指定的,尤其是XML对它的要求非常严格。

XML以&字符开头特殊字符,即著名的&;,()

因此,如果不将XML转换为&;,则无法在XML中使用&;。例如,即使在HTML链接中,也不允许(但仍然很常见)编写:

<a href="foo.php?foo=bar&bar=baz">

它必须写为:

<a href="foo.php?foo=bar&amp;bar=baz">


没有人这样做,但HTML和XML都是这样指定的,尤其是XML对它非常严格。

你能发布你的代码吗?我更感兴趣的是看到编译器错误,因为在字符串中有“&”应该很好。你是否缺少引号字符,比如:string foo=一些文本和东西;而不是字符串foo=“some text&stuff”;?它没有得到任何错误。字符串g;g=“你好,你好吗?”;textBox1.Text=g;或者您正在尝试连接字符串“VB样式”?Dim s=“这是一个”&“字符串”。如果是这样,请使用+来代替。您能发布您的代码吗?我更感兴趣的是看到编译器错误,因为在字符串中包含“&”应该是非常好的。您是否缺少引号字符,例如:string foo=一些文本&东西;而不是字符串foo=“some text&stuff”;?它没有得到任何错误。字符串g;g=“你好,你好吗?”;textBox1.Text=g;或者您正在尝试连接字符串“VB样式”?Dim s=“这是一个”&“字符串”。如果是这样,则使用+代替。