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;
}