اذهب إلى المحتوى

السؤال

نشر

لماذا لم يقم بعمل break , وكتب return

if (answer == "Y") {
	continue;
}
else if (answer == "N") {
	return;
}
else
{
	return;
}

الشيفرة كاملة

class Program
{
  static void Main(string[] args)
  {

    while (true)
    {

      Random random = new Random();

      int correctNumber = random.Next(1, 10);

      int guess = 0;

      Console.WriteLine("Guess a number between 1 and 10");

      while (guess != correctNumber)
      {
        string input = Console.ReadLine();

        if (!int.TryParse(input, out guess))
        {
          Console.WriteLine("Please use an actual number");

          continue;
        }

        // Cast to int and put in guess
        guess = Int32.Parse(input);

        // Match guess to correct number
        if (guess != correctNumber)
        {
          // Print error message
          PrintColorMessage(ConsoleColor.Red, "Wrong number, please try again");
        }
      }

      // Print success message
      PrintColorMessage(ConsoleColor.Yellow, "CORRECT!! You guessed it!");

      // Ask to play again
      Console.WriteLine("Play Again? [Y or N]");

      // Get answer
      string answer = Console.ReadLine().ToUpper();

      if (answer == "Y") {
        continue;
      }
      else if (answer == "N") {
        return;
      }
      else
      {
        return;
      }
    }           

  }


}

 

Recommended Posts

  • 2
نشر

نلاحظ أن لدينا دالة Main فيها حلقة، والدالة يمكن إيقافها عندما نعمل return أما الحلقة نوقفها عندما نعمل break.

إن عمل return ضمن الحلٌقة يوقف التكرار الحالي للحلقة و يوقف الدالة بنفس الوقت، أما عمل break سوف يوقف الحلقة ويخرج منها و يتابع تنفيذ التعليمات المتبقية بعد الحلقة ضمن الدالة.

وضع return:

static void Main(string[] args)
{
  while (true)
  {
		return;
  }           
  // لا يتم تنفيذه
  console.WriteLine("NOOOO");
}

وضع Break:

static void Main(string[] args)
{
  while (true)
  {
		break;
  }           
  //  يتم تنفيذه
  console.WriteLine("YEES");
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...