c# - 为什么这段代码不打印任何东西?

标签 c# debugging

我正在尝试创建一个工作程序,您必须在其中输入城镇、产品和数量并输出总价。

例如 Town1>Milk>2 应生成 2。但是由于某种原因,没有输出。有人可以帮助我并告诉我错误吗?

代码如下:

Console.Write("Enter product: ");
var product = Console.ReadLine().ToLower();
Console.Write("Enter town: ");
var town = Console.ReadLine().ToLower();
Console.Write("Enter quantity: ");
var quantity = double.Parse(Console.ReadLine());

if (town == "Town1")
{
    if (product == "Milk")
        Console.WriteLine(1.50 * quantity);
    if (product == "Water")
        Console.WriteLine(0.80 * quantity);
    if (product == "Whiskey")
        Console.WriteLine(4.20 * quantity);
    if (product == "Peanuts")
        Console.WriteLine(0.90 * quantity);
    if (product == "Chocolate")
        Console.WriteLine(2.60 * quantity);   
}
if (town == "Town2")
{
    if (product == "Milk")
        Console.WriteLine(1.40 * quantity);
    if (product == "Water")
        Console.WriteLine(0.70 * quantity);
    if (product == "Whiskey")
        Console.WriteLine(3.90 * quantity);
    if (product == "Peanuts")
        Console.WriteLine(0.70 * quantity);
    if (product == "Chocolate")
        Console.WriteLine(1.50 * quantity);
}
if (town == "Town3")
{
    if (product == "Milk")
        Console.WriteLine(1.90 * quantity);
    if (product == "Water")
         Console.WriteLine(1.50 * quantity);
    if (product == "Whiskey")
         Console.WriteLine(5.10 * quantity);
    if (product == "Peanuts")
         Console.WriteLine(1.35 * quantity);
    if (product == "Chocolate")
         Console.WriteLine(3.10 * quantity);
}
}}}

最佳答案

您正在设置 town = value.ToLower()product = value.ToLower(),这会使所有字符变为小写,更改这些行:

var town = Console.ReadLine().ToLower();
var product = Console.ReadLine().ToLower();

对此:

var town = Console.ReadLine();
var product = Console.ReadLine();

或者更改您的 if 语句条件以使用小写值作为比较

if (town == "town1")
{

等...

关于c# - 为什么这段代码不打印任何东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49429682/

相关文章:

Eclipse 在调试 java 时跳过断点

ios - 在应用程序上覆盖文本以显示调试信息

c# - 使用 FromUri 将复杂对象传递给 ASP.NET Web API

c# - 使用单独的类获取asp.net core identity中的所有角色

c# - writealltextasync 不会将所有文本写入文件

c# - 逐帧播放视频性能问题

c# - 在 C# 中从查询填充类的最简单方法

ios - 无法从 Xcode 10 中的自定义 "Attach to Process by PID or Name" "embedded framework"后命中断点

c# - 如何配置 Visual Studio Code 以从适用于 Linux 的 Windows 子系统 (WSL) 运行/调试 .NET (dotnet) Core?

ruby-on-rails - Rails 脚注部分计数始终为零