0
namespace ClassesnObject
{
class Program
{

    public class myClass
    {
        string val;
        public static int val2 = 0;            

        public void bottle(string name)
        {
            val = name;
            val2++;
        }            

    }
    static ConsoleKeyInfo readkey = new ConsoleKeyInfo();
    static myClass myObj = new myClass();
    static void input()    //This is the problematic method
    {
        string name;
        bool con = true;   
        Console.WriteLine("Enter name: ");
        name = Console.ReadLine();
        myObj.bottle(name);
        while (con)
        {                
            Console.WriteLine("Want to enter more name(Y/N)? ");                
            readkey = Console.ReadKey();
            if (readkey.KeyChar == 'Y' || readkey.KeyChar == 'y') input();
            else if (readkey.KeyChar == 'N' || readkey.KeyChar == 'n') return;//Problem
            else continue;
        }
    } 
    static void Main(string[] args)
    {
        input();
        Console.WriteLine("No. of entries are: " + myClass.val2);
        Console.ReadLine();                    
    }
}

私がinput()メソッドにいて、whileループで「Y」または「y」を押すと機能しますが、「N」または「n」は機能しません。「N」または「n」を押すと、名前を入力した回数「N」または「n」を押すまで戻らないようです。

4

2 に答える 2