C#中的C ++ CString等效

时间:2010-11-10 06:29:39

标签: c# c++ mfc cstring

MFC C#的等效CString是什么?

3 个答案:

答案 0 :(得分:10)

可能System.String。但是为了提供更多有用的信息:

  • System.String个实例是不可变的。 Concatenation / substring / etc实际上创建了新的字符串对象,因此使用字符串实例作为缓冲区来构建输出是一个非常糟糕的主意,以防你要这样做。将System.String视为const CString
  • System.Text.StringBuilder用于构建和操作字符串内容。它有一个.ToString()方法,您可以调用它将其内容转换为正确的字符串。
  • 如果您确切知道生成的字符串的长度,您可以使用char[]作为字符串构建器的替代方法,但即使如此,您也可以使用new StringBuilder(length)来指定默认的初始值容量。然后,您可以使用相关的追加方法,而无需保留索引变量。 (StringBuilder为你做这件事。)

正如比利在这个问题的另一个答案中提到的,C#有一个关键字string,它本质上是System.String类型的快捷方式。两者都是完全等效的,但是如果使用大写形式,大多数编码人员都会LART你。

答案 1 :(得分:2)

您可以尝试使用String,看看是否有帮助。

答案 2 :(得分:2)

你知道,CString并不是OO设计正确的光辉典范。 MS不断添加成员功能,直到它像一把瑞士军刀......同时仍然缺少重要的功能。

使用不可变的'System.String`和许多支持类可以更好地完成CString的任何操作。