.net 未将结束字符添加到字符串中
我正在尝试加载DirectorySearch筛选器的字符串.net 未将结束字符添加到字符串中,.net,string,vb.net,.net,String,Vb.net,我正在尝试加载DirectorySearch筛选器的字符串 strFilter = "((objectClass=container)(cn=" & strParameter & "))" 不管结束字符是什么,它们都不会被添加到字符串中。结果总是: strFilter = "((objectClass=container)(cn=" & strParameter 这太令人沮丧了。我甚至不能添加后面的括号。发生了什么事?字符串不应该这样做 如果strParameter包
strFilter = "((objectClass=container)(cn=" & strParameter & "))"
不管结束字符是什么,它们都不会被添加到字符串中。结果总是:
strFilter = "((objectClass=container)(cn=" & strParameter
这太令人沮丧了。我甚至不能添加后面的括号。发生了什么事?字符串不应该这样做 如果
strParameter
包含空字符(char 0),大多数文本编辑器/文本查看器通常不会呈现字符串的其余部分,即使它确实存在。这是因为空字符通常用于指示字符串的结尾
尝试从字符串中删除任何空字符,看看是否可以解决问题:
strFilter = "((objectClass=container)(cn=" & strParameter.Trim(ChrW(0)) & "))"
更多信息:
如果您在将来(由于某种原因)在字符串的中间遇到空字符,可以尝试删除所有空字符:
strFilter = "((objectClass=container)(cn=" & strParameter.Replace(ChrW(0), "") & "))"
你能在那行有问题的代码之前再给我们看些代码吗?他们不。。。strParameter的内部是什么?设置strFilter后是否立即检查其值?如果
strParameter
包含空字符(char 0),则大多数文本编辑器/查看器通常不会呈现字符串的其余部分,即使它实际存在。尝试从字符串中删除空字符,看看它是否能解决问题:strFilter=“((objectClass=container)(cn=“&strParameter.Trim(ChrW(0))&”)”
。Trim(ChrW(0))”似乎正在工作。非常感谢!很高兴我能帮忙!我会写下来作为答案,这样你就可以把这个问题标记为已解决。