Diese Woche habe ich eine Funktion implementiert, die anzeigt, wie viel Zeit man braucht, um einen Blogartikel zu lesen.
 
Im ersten Schritt habe ich mein Modell BlogStory verwendet, um den Inhalt zu erhalten. Dann macht Razor das Folgende:
 
Es zählt die Leerzeichen zwischen den Wörtern und addiert 1. Jetzt wissen wir also, wie viele Wörter der Artikel hat. Die meisten Menschen können 200 bis 250 in einer Minute lesen. Wir müssen also die gezählten Wörter durch 250 teilen. Dann wissen wir, wie viele Minuten wir zum Lesen brauchen. Dann kombinieren wir ein Modulo mit einem Divide, um die Sekunden zu erhalten.
 @{ var word_count = @Model.Body;
var counts = word_count.Count(ch => ch == ' ') + 1;
var minutes = counts / 250; var seconds = counts % 250 / (250 / 60);
var str_minutes = (minutes == 1) ? "Minute": "Minutes";
var str_seconds = (seconds == 1) ? "Second" : "Seconds";
}

Jetzt plazieren wir den Code zur Anzeige:

  @minutes @str_minutes @seconds @str_seconds 

An dieser Stelle wird die Lesezeit angezeigt.