c# - 在 Visual Studio 2010 中使用 MessageBox 如何显示一条消息、一个计时器 int,然后显示另一条消息?

标签 c# visual-studio-2010

我正在制作一个小型迷宫游戏,但我遇到了一个小问题,如果玩家获胜,我会弹出一个消息框并向他们发送祝贺消息,并显示他们使用我计算的计时器花费了多长时间他们玩游戏需要多长时间。我的消息框代码是:

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/

相关文章:

c# - 自动属性会影响运行时性能吗?

c# - 数组上的 LINQ to JSON 组查询

c# - 关于处理表单的代码分析警告

javascript - 在JSON.Net序列化json中配置$id

asp.net-mvc-3 - 编译错误: "higher version than referenced assembly "

visual-studio-2010 - Visual Studio 2012 调试测试键盘快捷键

visual-studio - Visual Studio 2010 中的多监视器支持

c# - 在 mvc View 中循环遍历对象?

visual-studio-2010 - 点云库(PCL)的配置

C++ 模板 dll => 未解析的外部