Console.Writeline()在前一个Console.Writeline()之后不出现

时间:2017-01-15 03:59:24

标签: c# visual-studio

我目前在C#Console中使用Visual Studio,我的主要问题是没有出现的行,如下所示。我还没有转到if语句,因为当我运行它时它将控制它将运行第一个Console.WriteLine我将输入第一个输入然后控制台将在下一次按键时关闭而不运行第二个Console.WriteLine。这是我的问题。

void SomeMethod()
{
    List parts = new List();

    // Add parts to the list.
    parts.Add(new Part() { PartName = "crank arm", PartId = 1234});
    parts.Add(new Part() { PartName = "chain ring", PartId = 1334 });
    parts.Add(new Part() { PartName = "regular seat", PartId = 1434 });
    parts.Add(new Part() { PartName = "banana seat", PartId = 1444 });
    parts.Add(new Part() { PartName = "cassette", PartId = 1534 });
    parts.Add(new Part() { PartName = "shift lever", PartId = 1634 });
}

public class Part
{
    public string PartName { get; set; }
    public string PartId { get; set; }
}

我测试了第一个输入,但它拒绝在控制台中读取该行,并且在第二个Console.WriteLine之后似乎停止了。此外,如果任何人有关于进行温度转换的任何提示,其中可以输入F或C,这与如何解决我的问题一样重要。

        Console.WriteLine("Please enter F or C to define your temperature. Enter F or C here: ");

2 个答案:

答案 0 :(得分:1)

我不相信你说的是真的。你说它在下一次按键时关闭,但它只会在下一次按下“输入”按钮时退出。

您的功能(和程序)只是退出,然后才能看到任何输出。只需在最终的WriteLine之后放入一个ReadLine,这样控制台就会在退出之前等你输入“enter”。

答案 1 :(得分:0)

不完全确定您的问题是什么,但这应该有所帮助。您需要使用if语句来检查用户输入是什么。

    static void Main(string[] args)
    {
        int tempurature;
        string celciusOrFahrenheit;

        Console.Write("Hello welcome to the temperature converter. Please provide the numerical value of your temperature. Enter your response here:");
        tempurature = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Please enter F or C to define your temperature. Enter F or C here: ");
        celciusOrFahrenheit = Console.ReadLine();

        if (celciusOrFahrenheit.ToUpper() == "C")
        {
            Console.WriteLine("Temp converted to farenhite: " + ConvertToFahrenheit(tempurature));
        }

        if (celciusOrFahrenheit.ToUpper() == "F")
        {
            Console.WriteLine("Temp converted to celcius: " + ConvertToCelcius(tempurature));
        }
        Console.ReadKey();
    }

    public static int ConvertToFahrenheit(int temp)
    {
        int cToF = ((temp + 32 / 5) * 9);
        return cToF;
    }

    public static int ConvertToCelcius(int temp)
    {
        int fToC = ((temp - 32) / 9) * 5;
        return fToC;
    }
}