3

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

我的功能是

xyz(char *c)
{
}

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

string s = "Hello"

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

4

2 回答 2

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

请注意,您不应该真正存储该指针(在字段等中),因为地址只会在块的持续时间内被固定。fixed不过,你可以在里面很好地使用它xyz

只是……乖一点;突变strings 非常危险。

另外:如评论中所述:xyz(ptr, s.Length)强烈推荐。

于 2013-03-08T13:30:14.270 回答
0

string 将被视为数组, char* 将指向 string 的第一个索引,因此您可以将函数称为 xyz(your string); 我想它应该工作

于 2013-03-08T13:23:34.553 回答