private static int ResolveOrdinalReference()

in blog-samples/CSharp/TriviaBotSpeechSample/TriviaBot/TriviaDialog.cs [504:524]


        private static int ResolveOrdinalReference(string message)
        {
            var normalizedMessage = message.Normalize();

            if (normalizedMessage != null)
            {
                if (normalizedMessage.ContainsIgnoreCase(new[] { "tenth", "ten", "10" })) return 10;
                if (normalizedMessage.ContainsIgnoreCase(new[] { "first", "1" })) return 1;
                if (normalizedMessage.ContainsIgnoreCase(new[] { "second", "two", "2" })) return 2;
                if (normalizedMessage.ContainsIgnoreCase(new[] { "third", "three", "3" })) return 3;
                if (normalizedMessage.ContainsIgnoreCase(new[] { "fourth", "four", "4" })) return 4;
                if (normalizedMessage.ContainsIgnoreCase(new[] { "fifth", "five", "5" })) return 5;
                if (normalizedMessage.ContainsIgnoreCase(new[] { "sixth", "six", "6" })) return 6;
                if (normalizedMessage.ContainsIgnoreCase(new[] { "seventh", "seven", "7" })) return 7;
                if (normalizedMessage.ContainsIgnoreCase(new[] { "eight", "eight", "8" })) return 8;
                if (normalizedMessage.ContainsIgnoreCase(new[] { "ninth", "nine", "9" })) return 9;
                if (normalizedMessage.ContainsIgnoreCase(new[] { "one" })) return 1; // last to avoid matching "fourth one"
            }

            return -1;
        }