我正在制作一个小型迷宫游戏,但我遇到了一个小问题,如果玩家获胜,我会弹出一个消息框并向他们发送祝贺消息,并显示他们使用我计算的计时器花费了多长时间他们玩游戏需要多长时间。我的消息框代码是:
MessageBox.Show("Congratulations! You've beaten the maze! It took you: "+gameElapsed);
gameElapsed 是我的计时器的整数。它显示文本后的秒数没问题,它只是在那之后显示“秒”是我遇到的问题。
所以我希望 MessageBox 说“恭喜!你已经打通了迷宫!你花了:X 秒”
X 是 gameElapsed,计时器 int。
我希望我已经足够清楚地解释了我的问题,在此先感谢您的帮助。
最佳答案
我认为 string.Format
更好:
MessageBox.Show(string.Format("Congratulations! You've beaten the maze! It took you: {0} seconds", gameElapsed));
使用
非文字字符串上的 +
运算符导致在运行时执行连接。
连接
在运行时将多个字符串放在一起,避免使用 +
运算符,因为它会创建多个
垃圾收集堆上的字符串对象。
相反,请使用 System.Text.StringBuilder
类型或使用 string.Format
方法。 (string.Format
在内部使用 System.Text.StringBuilder
。)
因此我建议:
- 对少量字符串使用
string.Format
,或者我们需要高水平的可读性。 - 对大量字符串使用
System.Text.StringBuilder
。 - 对文字字符串使用
+
,C# 编译器在编译时将它们连接起来,最后只放置一个字符串。
关于c# - 在 Visual Studio 2010 中使用 MessageBox 如何显示一条消息、一个计时器 int,然后显示另一条消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13926131/