我遇到了(字符串“class”(。NET))的内部(定义):
public String(char* value);
评论中写了什么:
// Parameters:
// value:
// A pointer to a null-terminated array of Unicode characters.
我的问题:
我是否只能在不安全的环境中使用它,现在使用那个String(char *值)仍然有意义,或者这只是过去的遗留物,基于这个“ABC \ 0”(终止它字符串)?
如果我可以/应该使用它,这种方法的情况如何?
答案 0 :(得分:1)
嗯,我们有两种可能的情况:
您不需要使用不安全的代码。如果您不需要使用不安全的代码,请不要使用不安全的代码。你永远不会使用这个字符串构造函数。
您需要使用不安全的代码。如果由于某种原因需要处理不安全的代码和char*
¹,此方法允许您“转换”{{{完成不安全的操作后,请转到标准的.NET字符串。
¹不安全代码的可能用例超出了本问题的范围。