小编mis*_*sak的帖子

如果值包含&符号,如何更正C#中的解析查询字符串?

我需要解析查询字符串: ?artist=singer1 & singer2&song=name song

HttpUtility.ParseQueryString如果值包含像"singer1&singer2"这样的&符号,则静态方法无法按我想要的方式工作.

例如:

string qs = "?artist=singer1 & singer2&song=name song"; 
NameValueCollection query = HttpUtility.ParseQueryString(qs);
Run Code Online (Sandbox Code Playgroud)

结果是:

  1. artist = singer1
  2. null =歌手2
  3. 歌=名歌

我想结果

artist = singer 1 & singer2
song = name song
Run Code Online (Sandbox Code Playgroud)

任何的想法?

c#

2
推荐指数
2
解决办法
9986
查看次数

Marshaling回调到本机dll

我正在处理从无人管理的本机库到我的托管C#代码的回调.回调函数在头文件中声明:

typedef void* (TNotice)(wchar_t *msg, bool error);
Run Code Online (Sandbox Code Playgroud)

回调有字符串参数msg.I不要khow,为什么在c#中不起作用声明:

[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate IntPtr CallbackDelegate([MarshalAs(UnmanagedType.LPWStr)]string msg, bool error);
Run Code Online (Sandbox Code Playgroud)

但声明:

[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate IntPtr CallbackDelegate([MarshalAs(UnmanagedType.LPWStr)]StringBuilder msg, bool error);
Run Code Online (Sandbox Code Playgroud)

工作良好.

c#

2
推荐指数
1
解决办法
169
查看次数

标签 统计

c# ×2