在C#中使用带有“ for”的return +异常行为

我对返回类型有疑问,下面的代码块无法正常工作,该块位于返回布尔值的Method内,但是当满足以下条件时,似乎什么也不返回,它中断了我的程序,我知道“返回”将值返回给调用方/方法,在这种情况下,“ for”块是方法吗?还是“如果”?

if (!Even)
            {

                for (N = 3; N < pNum+1 ; N += 2)
                {

                    Result = pNum % N;

                    if (N == pNum)
                        return true ;

                    if (Result == 0) 
                        return false;

                }

            }

如果您想检查完整的代码在这里

using System;

namespace Ejercicio1
{
    class Program
    {
        static void Main(string[] args)
        {
            int Resultado   = 0;
            int Numero      = 0;
            int N           = 0;
            bool Par;
            bool Primo;
            string Inpt = "";


            Program CheckPrimo = new Program();

            Console.WriteLine("Dame un numero Impar o Primo");
            Inpt = Console.ReadLine();

            try
            {
                Numero = Convert.ToInt32(Inpt);
                Console.WriteLine("{0}", Numero);
            }

            catch
            {

                Console.WriteLine("Solo se aceptan numeros como input");
                System.Environment.Exit(0);
            }

            Par = (Numero % 2 == 0);
            Primo = CheckPrimo.MCheckPrimo(Numero, Par);

            if (Par)
                Console.WriteLine(  Par ? "El numero es Par" : "El numero es Impar");

            if (Primo)
                Console.WriteLine(  Primo ? "El numero es Primo" : "El numero no es Primo");

        }


        private bool MCheckPrimo(int pNumber,bool Even)
        {
            int     Base    = 2;
            int     pNum    = 0;
            int     N       = 0;            
            double  Result  = 0;


            pNum = pNumber;

            if (Even && pNum == 2)
            {
                return true;                
            }

            if (Even && pNum > 2)
            {
                return false;
            }

            if (!Even)
            {

                for (N = 3; N < pNum+1 ; N += 2)
                {

                    Result = pNum % N;

                    if (N == pNum)
                        return true ;

                    if (Result == 0) 
                        return false;

                }

            }
        }
    }
}

提前致谢