1

我遇到了(内部(定义)字符串“类”(.NET)):

public String(char* value);

评论里写的是什么:

    // Parameters:
    //   value:
    //     A pointer to a null-terminated array of Unicode characters.

我的问题:

我只能在不安全的上下文中使用它吗,现在使用那个 String(char* value) 是否仍然有意义,或者这只是过去的遗留物,基于这个 "ABC\0"(termination of that string) ?

如果我可以/应该使用它,这种方法的情况如何?

4

1 回答 1

1

好吧,我们有两种可能的情况:

  1. 您不需要使用不安全的代码。如果您不需要使用不安全代码,请不要使用不安全代码。你永远不会使用这个字符串构造函数。

  2. 您需要使用不安全的代码。如果您需要使用不安全代码并且出于某种原因¹,此方法允许您在完成不安全操作后将 a char*“转换”为标准 .NET 字符串。char*

¹ 不安全代码的可能用例超出了本问题的范围。

于 2015-08-14T07:57:32.660 回答