C#中使用Console.WriteLine打印double类型值无输出如何解决
问题原因及解决方案
核心问题汇总
- 代码存在语法错误:
Account类定义结束后多了一个冗余的右大括号},会直接导致编译不通过,你看到的输出实际是编译报错提示,并非程序运行后的结果。 - 缺少程序入口方法:C#控制台应用的默认启动入口是
static void Main(string[] args)方法,你定义的other方法没有在入口中被主动调用,永远不会执行,自然不会打印你想要的内容。 - 控制台自动关闭:就算逻辑正常执行,程序运行完最后一行代码后控制台窗口会直接退出,你还没来得及看到输出内容窗口就消失了,也会造成「没有输出」的错觉。
修复后可正常运行的代码
using System; public class Account { private double balance; public Account(double initBalance) { // 原逻辑重复赋值,已优化 this.balance = initBalance; } public double getBalance() { return balance; } public void deposit(double atm) { balance += atm; } public void withdraw(double atm) { balance -= atm; } } public class TestAccount { // 新增程序入口方法 static void Main(string[] args) { Account objeto = new Account(50.0); objeto.deposit(100.0); objeto.withdraw(147.0); Console.WriteLine(objeto.getBalance()); // 新增等待输入逻辑,让窗口暂停不自动关闭 Console.ReadKey(); } }
额外注意事项
- 运行前先点击VS顶部菜单栏的「生成」→「生成解决方案」,查看错误列表把所有编译报错修复完成后再运行,不要在弹出编译失败提示时选择「运行上次成功生成」,否则运行的是旧版本程序,不会出现预期结果。
- 右键项目→「属性」→「应用程序」页,确认启动对象设置为
TestAccount类,避免入口识别异常。
内容的提问来源于stack exchange,提问作者Claudia Velazquez
相关产品推荐
相关产品推荐

