8

C#MFC的等价物是什么CString

4

3 回答 3

10

大概System.String。但为了提供更多有用的信息:

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

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

于 2010-11-10T06:32:37.623 回答
2

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

于 2010-11-10T06:31:37.077 回答
2

你知道,CString这并不是一个正确的 OO 设计的光辉例子。MS 不断向它添加成员函数,直到它像一把瑞士军刀......同时仍然缺少重要的函数。

你可以用 CString 做的任何事情都可以用不可变的“System.String”和一些支持类更好地完成。

于 2010-11-10T06:36:19.697 回答