示例#1
0
        /// <summary>
        /// Hilfs Methode welche von der Jokes-API die Witze lädt und lokal abspeichert
        /// </summary>
        /// <returns></returns>
        private static async Task SaveJokesToFile()
        {
            var api    = new ChuckNorrisApi();
            var result = await api.GetRandomJokesFromCategory(JokeCategories.Dev, 10);

            SaveJokes(result);

            void SaveJokes(ChuckNorrisApi.ChuckNorrisJoke[] jokesToSerialize)
            {
                // TODO: Nur für Vorlesungszwecke! Das referenzieren von Strings erzeugt
                // eine Kopie, problematisch bei großen strings (LOH)
                var raw = JsonSerializer.Serialize(jokesToSerialize);

                File.WriteAllText($"jokes_{DateTime.Now.Ticks}.json", raw);
            }
        }
示例#2
0
        private static async Task SaveJokesToFile()
        {
            var api    = new ChuckNorrisApi();
            var result = await api.GetRandomJokesFromCategory(JokeCategories.Dev, 10);

            SaveJokes(result);

            void SaveJokes(ChuckNorrisApi.ChuckNorrisJoke[] jokesToSerialize)
            {
                // TODO: Nur für Vorlesungszwecke! Das referenzieren von Strings erzeugt
                // eine Kopie, problematisch bei großen strings (LOH)
                // Mit .net core 3.0 wird es performantere Möglichkeiten zur
                // Serialisierung und Deserialisierung geben.

                var raw = JsonConvert.SerializeObject(jokesToSerialize);

                File.WriteAllText($"jokes_{DateTime.Now.Ticks}.json", raw);
            }
        }