string 转换成 UInt16

ygmybb116 2011-09-19 08:24:46
将字符串string name = "csdn.txt"转换成UIint16类型,以下方法已试过,都不成功
Convert.ToUInt16()
UInt16.TryParse()
UInt16.Parse()
哪位知道请说下,谢谢!
...全文
1287 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Icedmilk 2011-09-19
  • 打赏
  • 举报
回复
楼上打错了

可读写的应该是


        [DllImport("test.dll", CharSet= CharSet.Unicode)]
public static void test(string str);
Icedmilk 2011-09-19
  • 打赏
  • 举报
回复
unsigned short* 实际就是unicode字符串
C++里一般有如下定义
typedef unsigned short wchar_t;
wchar_t就是用来表示Unicode字符

而一般有
#define LPWCSTR wchar_t*

说白了就是用来表示一个unicode字符串
而在C#里面对应的是string或者StringBuilder类

例子:
只读的:

[DllImport("test.dll", CharSet= CharSet.Unicode)]
public static void test(string str);

读写的:
        [DllImport("test.dll", CharSet= CharSet.Unicode)]
public static void test(string str);

[Quote=引用 7 楼 ygmybb116 的回复:]
unsigned short *name这是c++里的
现在我在c#里调用了c++的函数,那我对应的的参数赋值应该是什么?ref UInt16 name?
如果是那我就要将比如name = "csdn"先转换成UInt16,然后在传过去是吧,那"csdn"怎么转换成UInt16?申明下这是有办法转的,但是我不知道,所以想请教高手
[/Quote]
yfl168648 2011-09-19
  • 打赏
  • 举报
回复
明显是 ref Byte[]
ygmybb116 2011-09-19
  • 打赏
  • 举报
回复
unsigned short *name这是c++里的
现在我在c#里调用了c++的函数,那我对应的的参数赋值应该是什么?ref UInt16 name?
如果是那我就要将比如name = "csdn"先转换成UInt16,然后在传过去是吧,那"csdn"怎么转换成UInt16?申明下这是有办法转的,但是我不知道,所以想请教高手
zh6335901 2011-09-19
  • 打赏
  • 举报
回复
字符串不能转成uint16吧,如果你想把里面的每个字符转换成Uint16倒是可以
char[] c=name.ToCharArray();
foreach(char a in c)
{

}
  • 打赏
  • 举报
回复
LZ很幽默
zh6335901 2011-09-19
  • 打赏
  • 举报
回复
字符串不能转成uint16吧,如果你想把里面的每个字符转换成Uint16倒是可以
char[] c=name.ToCharArray();
foreach(char a in c)
{

}
机器人 2011-09-19
  • 打赏
  • 举报
回复
lz 来找乐子的。。。
机器人 2011-09-19
  • 打赏
  • 举报
回复
csdn.txt 你觉得转换成功的话,应该是什么呢?
sxldfang 2011-09-19
  • 打赏
  • 举报
回复
"csdn.txt"转换成UIint16类型,你先说一下你期望的值是啥?

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧