Creating the start of a Caesar cipher My code takes an input, uses the input to take a number of letters from the start of the alphabet and put them at the end. I intend to use this to create a Caesar style cipher.

Is there a way to do this more elegantly? 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication
{
    class Program
    {
        static void Main()
        {
            GettingInput gi = new GettingInput();
            var input = gi.GetInput();
            Console.WriteLine("Your input:\n{0}", input);
            List&lt;char&gt; alphabet = new List&lt;char&gt;();


            for (char c = 'a'; c &lt;= 'z'; c++)
            {
                alphabet.Add(c);
            }
            for (int i = 0; i &lt; input; i++)
            {
                alphabet.Add(alphabet[i]);
            }

            for (int i = input ; i &gt; 0; i--)
            {
                alphabet.Remove(alphabet[i-1]);
            }

            for (int i = 0; i &lt; 26; i++) 
            {
                Console.WriteLine(alphabet[i]);
            }

            Console.ReadLine();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication
{
    public class GettingInput
    {
        public int GetInput()
        {
            Console.WriteLine("Please input an int:");
            while (true)
            {
                try
                {
                    int input = Convert.ToInt32(Console.ReadLine());
                    return input;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                    Console.WriteLine("Please input a valid int:");
                }

            }

        }

    }
}


All feedback welcome!
Instead of create the whole list and modify it subsequently, you could calculate the value directly. 


The code could like that:

static void Main()
{
    GettingInput gi = new GettingInput();
    var input = gi.GetInput();
    Console.WriteLine("Your input:\n{0}", input);

    var first = (int)'a';
    var last = (int)'z';
    var length = last - first;

    var query = Enumerable
        .Range(0, length)
        .Select(i =&gt; (char)(first + ((input + i) % length)));

    foreach (var number in query)
        Console.WriteLine(number);

    Console.ReadLine();
}



You could use int.TryParse(Console.ReadLine(), out input) instead of catching the exception