Я делаю простой OS, используя космос. Я новичок в C#. Метод Run() в циклах кода по умолчанию в космосе до тех пор, пока я не покину VMware. Однако, как только я немного исправим, моя программа автоматически выйдет. Я не понимаю, почему. Я пытаюсь сделать цикл. код Cosmo по умолчанию, прежде чем исправить:C# run метод не looping
public class Kernel : Sys.Kernel
{
protected override void BeforeRun()
{
Console.WriteLine("Cosmos booted successfully. Type a line of text to get it echoed back.");
}
protected override void Run()
{
Console.Write("Input: ");
var input = Console.ReadLine();
Console.Write("Text typed: ");
Console.WriteLine(input);
}
}
Ниже мой новый метод Run(). Все остальное остается прежним.
protected override void Run() {
Console.WriteLine("Input:");
String input = Console.ReadLine();
if (input.StartsWith("echo"))
{
var index = input.IndexOf("echo");
var initial = input.Substring(0, index);
var final = input.Substring(index + "echo".Length);
var echoInput = initial + final;
Console.WriteLine(echoInput);
}
}
Привет Mk, что вы имеете в виду пытаясь сделать его петлей? Вы дошли до того, что можете ввести ввод? Что вы подразумеваете под ** мой код автоматически выходит **, поэтому, если вы введете ** _ эхо, это тест _ ** вы должны увидеть ** _ это тест _ ** распечатано на консоли – jmesolomon
Метод Run(), прежде чем я исправил его пока я не выйду из VMware автоматически. Но после того, как я исправлю это, сразу после ввода VMware завершает работу. Я не вижу, чтобы мои строки были напечатаны на консоли. –
вы можете добавить 'Console.ReadKey()' сразу после инструкции блока 'if'. который должен держать консоль открытой, пока вы не нажмете клавишу. – jmesolomon