特定のキーが入力されるまで文字を読み込み続ける処理を書きたい。


定義コードの「ここ」部分なのですがそこに特定のキーではない場合ループを続けるといって処理を書きたくて実装に困っています  
C言語の入門問題である[getchar()がEOFじゃないとき無限に文字を入力し続けるプログラム]  
のC#版を書きたくて困っています。

[code]

    namespace ConsoleApp1
    {
        class Program
        {
    
            static void Main(string[] args)
            {
                System.ConsoleKeyInfo c;
    
                c = Console.ReadKey();
    
                while ( c != ConsoleKey.F1)//ここ
                {
                    //char x = (char)Console.ReadKey().Key;
    
                    //Console.WriteLine(x);
                }
    
    
                Console.WriteLine("end");
    
    
    
                Console.ReadKey();
            }              
        }
    }
    
[/code]




こんなかんじでいかがでしょうか

[code]

        static void Main(string[] args)
        {
            while (true)
            {
                var c = Console.ReadKey();
                if (c.Key == ConsoleKey.F1)
                {
                    break;
                }
                Console.WriteLine(c.KeyChar);
            }
            Console.WriteLine("end");
            Console.ReadKey();
        }
    
[/code]




こんなかんじでいかがでしょうか

[code]

        static void Main(string[] args)
        {
            while (true)
            {
                var c = Console.ReadKey();
                if (c.Key == ConsoleKey.F1)
                {
                    break;
                }
                Console.WriteLine(c.KeyChar);
            }
            Console.WriteLine("end");
            Console.ReadKey();
        }
    
[/code]

