将字符串分配给指向字符的指针

时间:2013-03-08 13:19:24

标签: c# string class pointers char

我想在C#.Net中将字符串对象存储到char *,我该如何实现?

我的功能是

xyz(char *c)
{
}

我想将此字符串作为参数传递给此函数:

string s = "Hello"

我在C#中使用不安全的代码。

2 个答案:

答案 0 :(得分:2)

string s = "Hello";
fixed (char* ptr = s) {
    xyz(ptr);
}

请注意,您不应该存储该指针(在字段等中),因为地址在{{1}的持续时间内仅固定阻止。不过,您可以在fixed内使用它。

只是......好看;变异xyz是非常危险的。

另外:正如评论中所述:强烈建议使用string

答案 1 :(得分:0)

字符串将被视为数组,而char *将指向字符串的第一个索引,因此您可以将函数调用为 xyz(你的字符串); 我想它应该有用