Shortening my questions code
When I need a simple strategy pattern I'll use a Dictionary. This can drastically reduce code by cutting repetition.

Note the use of StringComparer.InvariantCultureIgnoreCase for comparer to do away with the String.ToLower calls.

private static readonly IDictionary&lt;string, Tuple&lt;string, string&gt;&gt; NamesDictionary =
    new Dictionary&lt;string, Tuple&lt;string, string&gt;&gt;(StringComparer.InvariantCultureIgnoreCase)
    {
        { "kydd", Tuple.Create("question 1", "link1") },
        { "zydd", Tuple.Create("question 2", "link2") },
        ...
    };

private static void DoSomething(string name)
{
    Tuple&lt;string, string&gt; questionAndLinkTuple;

    if (!NamesDictionary.TryGetValue(name, out questionAndLinkTuple))
        return;

    var question = questionAndLinkTuple.Item1;
    var link = questionAndLinkTuple.Item2;

    Question.AskQuestion("Input answer here", question, link);
}