سؤال

أقوم بتطوير مشروع بسيط، لكن كيف يمكنني إجراء تكرار إلى الأبد إذا كانت وظيفة (مثل سطر الأوامر)؟ شكرًا.

الرمز الخاص بي هو مثل هذا:

Console.Write("> ");
var Command = Console.ReadLine();
if (Command == "About") {
    Console.WriteLine("This Operational System was build with Cosmos using C#");
    Console.WriteLine("Emerald OS v0.01");
}
هل كانت مفيدة؟

المحلول

string Command;
while (true) {
  Command = Console.ReadLine();
  if (Command == "About") {
    Console.WriteLine("This Operational System was build with Cosmos using C#");
    Console.WriteLine("Emerald OS v0.01");
  }
}

نصائح أخرى

بأي فرصة تقصد:

while( !(!(!(( (true != false) && (false != true) ) || ( (true == true) || (false == false) )))) == false   )
   {
       Console.Write("> ");
       if ("About" == Console.ReadLine())
       {
           Console.WriteLine("This Operational System was build with Cosmos using C#");
           Console.WriteLine("Emerald OS v0.01");
       }
   }

سؤالك غير واضح، ولكن ربما تريد أن تفعل شيئا مثل هذا:

while(true) {    //Loop forever
    string command = Console.ReadLine();
    if (command.Equals("Exit", StringComparison.OrdinalIgnoreCase))
        break;    //Get out of the infinite loop
    else if (command.Equals("About", StringComparison.OrdinalIgnoreCase)) {A
        Console.WriteLine("This Operational System was build with Cosmos using C#");
        Console.WriteLine("Emerald OS v0.01");
    }

    //...
}

لا أعتقد أن سؤالك واضح حقا. ولكن هنا محاولة :)

while (true) {
   if (i ==j ) {
     // whatever
   }
}

تقصد هذا؟

while(true) {
    if( ...) {
    }
}

ملاحظة: هذا هو واحد من الخارقة الخاصة بي المفضل في preprocessor. لا يعمل في C # رغم ذلك، فقط C / C ++.

#define ever (;;)

for ever {
    //do stuff
}

أعتقد أنك تريد فقط بسيطة while حلقة مع (على الأقل) نقطة خروج واحدة واحدة.

while(true)
{
    Console.Write("> ");
    var command = Console.ReadLine();
    if (command == "about") {
        Console.WriteLine("This Operational System was build with Cosmos using C#");
        Console.WriteLine("Emerald OS v0.01");
    } else if (command == "exit") {
        break; // Exit loop
    }
}

لا يمكنك استخدام عبارة "IF" بحد ذاتها لأنها عندما تصل إلى النهاية سيستمر البرنامج في تنفيذ العبارة التالية في التعليمات البرمجية الخاصة بك. أعتقد أن ما بعده هو بيان "أثناء" تقييم دائما إلى True.

على سبيل المثال

string Command; 
while(true)
{
    Command = Console.ReadLine(); 
    if (Command == "About")
    { 
        Console.WriteLine("This Operational System was build with Cosmos using C#"); 
        Console.WriteLine("Emerald OS v0.01");
    }
} 

ستكون هذه الحلقة لا مفر منها ما لم يتم إلقاء استثناء أو تقوم بتنفيذ بيان استراحة (أو مهما كان المكافئ الموجود في C #، فأنا رجل جافا - لا تكرهني).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top