MFC C#
的等效CString
是什么?
答案 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的任何操作。