c# - C# 中的 C++ CString 等价物

标签 c# c++ mfc cstring

MFC 的 CStringC# 是什么?

最佳答案

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

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

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

关于c# - C# 中的 C++ CString 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4141796/

相关文章:

c# - 将 NameValueCollection 绑定(bind)到 GridView?

c# - 使用 MySQL .Net 连接器的 MySQL Grant

c++ - 如何每 x 秒调用一个函数

c++ - IHTMLDocument2::write() 的问题

c# - 启用 GZIP 以在客户端调用 WCF 服务

c# - 将 python 行移植到 c# 代码

c++ - 为什么我不能在 std::set 中的元素上调用非常量成员函数?

c++ - 具有派生成员函数指针的多态性?

c++ - 错误 C2065 : 'CoInitializeEx' : undeclared identifier

c++ - 如何区分某些 LVITEMS(文件或目录)?