C# 无法在名称包含的LDAP中搜索用户*

C# 无法在名称包含的LDAP中搜索用户*,c#,.net,search,active-directory,ldap,C#,.net,Search,Active Directory,Ldap,我的问题是,当用户的名字包含*时,我无法搜索用户。我使用的搜索字符串只是* 我在报纸上读到: 如果*(星号)符号出现在DN中,我必须用/2a转义字符 在我的代码中,我有以下声明: if(searchFilter.contains("*")) searchFilter = searchFilter.replace("*","\2a"); 上面的代码将生成一个错误:“无法识别的转义序列。” 我试着用 searchFilter.replace("*","\x2a"); 但是,它只会将*替换为另一

我的问题是,当用户的名字包含*时,我无法搜索用户。我使用的搜索字符串只是*

我在报纸上读到:

如果*(星号)符号出现在DN中,我必须用/2a转义字符

在我的代码中,我有以下声明:

if(searchFilter.contains("*"))
searchFilter = searchFilter.replace("*","\2a");
上面的代码将生成一个错误:“无法识别的转义序列。” 我试着用

searchFilter.replace("*","\x2a");

但是,它只会将*替换为另一个*

尝试使用双反斜杠。您必须从C#中转义“\”


嗨,Richard,我也试过了,但是结果搜索过滤器现在包含两个“\”字符,而实际上应该只有一个。你怎么知道的?如果您在调试器中查看,它将始终显示为C#字符串,因此有两个反斜杠。它起作用了。抱歉,我处于调试模式,这就是为什么有2个反斜杠
searchFilter = searchFilter.replace("*","\\2a");