using System.Collections.Generic;
public static void Main()
var request = (HttpWebRequest)WebRequest.Create("http://api.icndb.com/jokes/random");
using (var response = (HttpWebResponse)request.GetResponse()) {
using(var stream = new MemoryStream()) {
using(var responseStream = response.GetResponseStream()) {
responseStream.CopyTo(stream);
using(var reader = new StreamReader(stream)) {
var result = JsonConvert.DeserializeObject<ApiResult>(reader.ReadToEnd());
var max = result.value.joke.Length;
var separator = Enumerable.Range(0, result.value.joke.Length).Select(x => "=").Aggregate((all, next) => string.Format("{0}{1}", all, next));
Console.WriteLine(string.Format("Joke # {0}:", result.value.id));
Console.WriteLine(separator);
Console.WriteLine(string.Format("{0}", result.value.joke));
public int id { get; set; }
public string joke { get; set; }
public IList<object> categories { get; set; }
public string type { get; set; }
public Value value { get; set; }