static async Task Main(string[] args) { ChuckNorrisApi api = new ChuckNorrisApi(); try { Console.WriteLine("Getting random joke:"); Joke joke = await api.GetRandomJoke(); PrintProperties <Joke>(joke); Console.WriteLine("Getting random joke from a set of categories:"); Joke jokeFromCategory = await api.GetRandomJoke(new string[] { "dev", "music" }); PrintProperties <Joke>(jokeFromCategory); Console.WriteLine("Getting random personalized joke:"); Joke personalizedJoke = await api.GetRandomJoke("Peter"); PrintProperties <Joke>(personalizedJoke); Console.WriteLine("Getting random personalized joke from a set of categories:"); Joke personalizedJokeFromCategory = await api.GetRandomJoke("Peter", new string[] { "dev", "music" }); PrintProperties <Joke>(personalizedJokeFromCategory); Console.WriteLine("Getting categories:"); string[] categories = await api.GetCategories(); Console.WriteLine(string.Join(",", categories)); Console.WriteLine("Getting all jokes containing a particular word or phrase:"); List <Joke> searchResults = await api.SearchForText("films"); foreach (Joke result in searchResults) { PrintProperties <Joke>(result); } } catch (Exception ex) { Console.WriteLine(ex); } api.Dispose(); }