.NET-HILFE

Humanizer C# (Wie es für Entwickler funktioniert)

Veröffentlicht 1. Juli 2024
Teilen Sie:

Humanizer ist eine leistungsstarke und flexible .NET-Bibliothek, die die Arbeit mit Daten vereinfacht und humanisiert, insbesondere wenn es darum geht, Informationen in einem benutzerfreundlichen Format darzustellen. Ob Sie Datumsangaben in relative Zeitstrings konvertieren müssen("Vor 3 Tagen")humanizer bietet eine Vielzahl von Werkzeugen und Erweiterungsmethoden, um diese Aufgaben elegant in C#.NET zu erledigen, um entmenschlichte Eingabestrings in Sätze zu konvertieren und lange Texte abzuschneiden.

In diesem Artikel werden wir ein detailliertes Tutorial von Humanizer in C# diskutieren. Wir werden auch besprechen, wie man PDF-Dokumente mit Humanizer und IronPDF for C# PDF Library erzeugt.

Einrichtung von Humanizer in C

Um mit Humanizer zu beginnen, müssen Sie die Bibliothek über NuGet installieren. In Ihrem Projekt können Sie dies über die Paketmanager-Konsole mit dem folgenden Befehl tun:

Install-Package Humanizer
Install-Package Humanizer
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package Humanizer
VB   C#

Wenn Sie die .NET Core CLI verwenden, können Sie Humanizer alternativ mit hinzufügen:

dotnet add package Humanizer

Nach der Installation können Sie Humanizer verwenden, indem Sie den entsprechenden Namespace in Ihre C#-Dateien aufnehmen:

using Humanizer;
using Humanizer;
Imports Humanizer
VB   C#

Humanisierung von Daten und Zeiten

Eine der häufigsten Verwendungen von Humanizer ist die Konvertierung von Datums- und Zeitangaben in menschenlesbare Formate, Zeitspannen, Zahlen und Mengen mit der Methode Humanize. Dies ist besonders nützlich für die Anzeige von relativen Zeiten, wie "vor 2 Stunden" oder "in 5 Tagen".

Beispiel: Humanisierung der relativen Zeit

DateTime pastDate = DateTime.Now.AddDays(-3);
string humanizedTime = pastDate.Humanize(); // Output: "3 days ago"
DateTime futureDate = DateTime.Now.AddHours(5);
string futureHumanizedTime = futureDate.Humanize(); // Output: "in 5 hours"
DateTime pastDate = DateTime.Now.AddDays(-3);
string humanizedTime = pastDate.Humanize(); // Output: "3 days ago"
DateTime futureDate = DateTime.Now.AddHours(5);
string futureHumanizedTime = futureDate.Humanize(); // Output: "in 5 hours"
Dim pastDate As DateTime = DateTime.Now.AddDays(-3)
Dim humanizedTime As String = pastDate.Humanize() ' Output: "3 days ago"
Dim futureDate As DateTime = DateTime.Now.AddHours(5)
Dim futureHumanizedTime As String = futureDate.Humanize() ' Output: "in 5 hours"
VB   C#

Die Humanizer-Erweiterungsmethode behandelt automatisch verschiedene Zeiteinheiten und passt sogar die grammatikalische Korrektheit an.

Humanizer C#(Wie es für Entwickler funktioniert): Abbildung 1 - Humanisierung der relativen Zeitausgabe

Humanisierung der Zeitspannen

Humanizer kann auch `TimeSpan'-Objekte vermenschlichen, so dass es einfach ist, Zeitspannen in einem lesbaren Format anzuzeigen.

Beispiel: Humanisierung der Zeitspanne

TimeSpan timeSpan = TimeSpan.FromMinutes(123);
string humanizedTimeSpan = timeSpan.Humanize(2); // Output: "2 hours, 3 minutes"
TimeSpan timeSpan = TimeSpan.FromMinutes(123);
string humanizedTimeSpan = timeSpan.Humanize(2); // Output: "2 hours, 3 minutes"
Dim timeSpan As TimeSpan = System.TimeSpan.FromMinutes(123)
Dim humanizedTimeSpan As String = timeSpan.Humanize(2) ' Output: "2 hours, 3 minutes"
VB   C#

Humanizer C#(Wie es für Entwickler funktioniert): Abbildung 2 - Humanisierung der TimeSpan-Ausgabe

Arbeiten mit Zahlen

Humanizer bietet mehrere Methoden, um Zahlen in menschenlesbare Wörter umzuwandeln und um Ordnungszahlen zu behandeln.

Beispiel: Zahlen in Wörter umwandeln

int number = 123;
string words = number.ToWords(); // Output: "one hundred and twenty-three"
int number = 123;
string words = number.ToWords(); // Output: "one hundred and twenty-three"
Dim number As Integer = 123
Dim words As String = number.ToWords() ' Output: "one hundred and twenty-three"
VB   C#

Humanizer C#(Wie es für Entwickler funktioniert): Abbildung 3 - Ausgabe von Zahlen in Wörter

Beispiel: Umwandlung von Zahlen in Ordnungszahlen

int number = 21;
string ordinal = number.ToOrdinalWords(); // Output: "twenty-first"
int number = 21;
string ordinal = number.ToOrdinalWords(); // Output: "twenty-first"
Dim number As Integer = 21
Dim ordinal As String = number.ToOrdinalWords() ' Output: "twenty-first"
VB   C#

Humanizer C#(Wie es für Entwickler funktioniert): Abbildung 4 - Nummer zu Ordinal Ausgabe

Pluralisierung und Singularisierung

Humanizer erleichtert die Umwandlung von Wörtern zwischen ihren Singular- und Pluralformen, was bei der dynamischen Generierung von Langtexten auf der Grundlage von Mengen nützlich ist.

Beispiel: Pluralisierung und Singularisierung von Wörtern

string singular = "car";
string plural = singular.Pluralize(); // Output: "cars"
string word = "people";
string singularForm = word.Singularize(); // Output: "person"
string singular = "car";
string plural = singular.Pluralize(); // Output: "cars"
string word = "people";
string singularForm = word.Singularize(); // Output: "person"
Dim singular As String = "car"
Dim plural As String = singular.Pluralize() ' Output: "cars"
Dim word As String = "people"
Dim singularForm As String = word.Singularize() ' Output: "person"
VB   C#

Humanizer verarbeitet auch unregelmäßige Pluralisierungen und Singularisierungen und ist somit für verschiedene Anwendungsfälle geeignet.

Humanizer C#(Wie es für Entwickler funktioniert): Abbildung 5 - Pluralisieren und Singularisieren der Ausgabe

Formatierung von Enums

Enums werden häufig in C#-Anwendungen verwendet, um eine Reihe von benannten Konstanten darzustellen. Humanizer kann Enum-Werte in menschenlesbare Zeichenketten umwandeln.

Beispiel: Vermenschlichung von Enums

MyEnum enumValue = MyEnum.FirstValue;
string humanizedEnum = enumValue.Humanize();
System.Console.WriteLine(humanizedEnum);
public enum MyEnum
{
    FirstValue,
    SecondValue
} // Output: "First value"
MyEnum enumValue = MyEnum.FirstValue;
string humanizedEnum = enumValue.Humanize();
System.Console.WriteLine(humanizedEnum);
public enum MyEnum
{
    FirstValue,
    SecondValue
} // Output: "First value"
Private enumValue As MyEnum = MyEnum.FirstValue
Private humanizedEnum As String = enumValue.Humanize()
System.Console.WriteLine(humanizedEnum)
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'public enum MyEnum
'{
'	FirstValue,
'	SecondValue
'} ' Output: "First value"
VB   C#

Diese Methode kann besonders für die Anzeige von benutzerfreundlichen Beschriftungen in der Benutzeroberfläche nützlich sein.

Humanizer C#(Wie es für Entwickler funktioniert): Abbildung 6 - Humanize Enum Ausgabe

Humanisierung von Bytegrößen

Eine weitere praktische Funktion von Humanizer ist die Möglichkeit, Bytegrößen zu humanisieren, indem große Byte-Werte in lesbare Formate wie KB, MB oder GB umgewandelt werden.

Beispiel: Humanisierung von Bytegrößen

long bytes = 1048576;
string humanizedBytes = bytes.Bytes().Humanize(); // Output: "1 MB"
long bytes = 1048576;
string humanizedBytes = bytes.Bytes().Humanize(); // Output: "1 MB"
Dim bytes As Long = 1048576
Dim humanizedBytes As String = bytes.Bytes().Humanize() ' Output: "1 MB"
VB   C#

Humanizer C#(Wie es für Entwickler funktioniert): Abbildung 7 - Humanizing Byte Size Output

Erweiterte Szenarien

Der Humanizer ist nicht auf die oben beschriebenen Basisszenarien beschränkt. Es unterstützt eine breite Palette fortgeschrittener Funktionen wie die Methode "Truncate" und mehrere Sprachen und Erweiterungen.

Beispiel: Humanisierung von DateTime Offsets

Humanizer kann auch DateTimeOffset verarbeiten, was für Anwendungen, die mit Zeitzonen arbeiten, nützlich ist.

DateTimeOffset dateTimeOffset = DateTimeOffset.Now.AddDays(-2);
string humanizedDateTimeOffset = dateTimeOffset.Humanize(); // Output: "2 days ago"
DateTimeOffset dateTimeOffset = DateTimeOffset.Now.AddDays(-2);
string humanizedDateTimeOffset = dateTimeOffset.Humanize(); // Output: "2 days ago"
Dim dateTimeOffset As DateTimeOffset = System.DateTimeOffset.Now.AddDays(-2)
Dim humanizedDateTimeOffset As String = dateTimeOffset.Humanize() ' Output: "2 days ago"
VB   C#

Humanizer C#(Wie es für Entwickler funktioniert): Abbildung 8 - Humanizing DateTime Offset Output

Überlegungen zur Leistung

Humanizer wurde entwickelt, um effizient zu sein, aber wie jede Bibliothek hängt die Leistung davon ab, wie sie verwendet wird. Bei Anwendungen, die eine hohe Leistung erfordern, insbesondere bei der Verarbeitung großer Datenmengen oder in Echtzeit, müssen die Auswirkungen häufiger Humanisierungsvorgänge unbedingt berücksichtigt werden.

IronPDF für C

IronPDF ist eine umfassende Bibliothek zur PDF-Erzeugung und -Bearbeitung für .NET-Anwendungen. Es ermöglicht Entwicklern das einfache Erstellen, Lesen, Bearbeiten und Extrahieren von Inhalten aus PDF-Dateien. IronPDF ist benutzerfreundlich gestaltet und bietet eine breite Palette von Funktionen wie die Konvertierung von HTML in PDF, das Zusammenführen von Dokumenten, das Hinzufügen von Wasserzeichen und vieles mehr. Seine Vielseitigkeit und seine leistungsstarken Funktionen machen es zu einer ausgezeichneten Wahl für den Umgang mit PDF-Dokumenten in C#-Projekten.

Installation von IronPDF über den NuGet-Paketmanager

Folgen Sie diesen Schritten, um IronPDF mit dem NuGet Package Manager zu installieren:

  1. Öffnen Sie Ihr Projekt in Visual Studio:

    • Starten Sie Visual Studio und öffnen Sie Ihr bestehendes C#-Projekt oder erstellen Sie ein neues.
  2. Öffnen Sie den NuGet Package Manager:

    • Klicken Sie mit der rechten Maustaste auf Ihr Projekt im Projektmappen-Explorer.

    • Wählen Sie "NuGet-Pakete verwalten..." aus dem Kontextmenü.

    Humanizer C#(Wie es für Entwickler funktioniert): Abbildung 9 - NuGet-Paketmanager

  3. IronPDF installieren:

    • Gehen Sie im NuGet-Paketmanager auf die Registerkarte "Durchsuchen".

    • Suchen Sie nach IronPDF.

    • Wählen Sie das Paket IronPDF aus den Suchergebnissen aus.

    • Klicken Sie auf die Schaltfläche "Installieren", um IronPDF zu Ihrem Projekt hinzuzufügen.

    Humanizer C#(Wie es für Entwickler funktioniert): Abbildung 10 - IronPDF

    Wenn Sie diese Schritte befolgen, wird IronPDF installiert und ist in Ihrem C#-Projekt einsatzbereit, so dass Sie seine leistungsstarken PDF-Bearbeitungsfunktionen nutzen können.

C# Humanizer und IronPDF Code-Beispiel

using Humanizer;
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Instantiate Renderer
        var renderer = new ChromePdfRenderer();
        List<string> content = GenerateHumanizedContent();
        string htmlContent = "<h1>Humanizer Examples</h1><ul>";

        // Iterate over each item in the List and add it to the HTML string
        foreach (var item in content)
        {
            htmlContent += $"<li>{item}</li>";
        }
        htmlContent += "</ul>";

        // Create a PDF from an HTML string using C#
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);

        // Export to a file or stream
        pdf.SaveAs("output.pdf");
    }

    static List<string> GenerateHumanizedContent()
    {
        List<string> content = new List<string>();

        // DateTime examples
        DateTime pastDate = DateTime.Now.AddDays(-3);
        DateTime futureDate = DateTime.Now.AddHours(5);
        content.Add($"DateTime.Now: {DateTime.Now}");
        content.Add($"3 days ago: {pastDate.Humanize()}");
        content.Add($"In 5 hours: {futureDate.Humanize()}");

        // TimeSpan examples
        TimeSpan timeSpan = TimeSpan.FromMinutes(123);
        content.Add($"TimeSpan of 123 minutes: {timeSpan.Humanize()}");

        // Number examples
        int number = 12345;
        content.Add($"Number 12345 in words: {number.ToWords()}");
        content.Add($"Ordinal of 21: {21.ToOrdinalWords()}");

        // Pluralization examples
        string singular = "car";
        content.Add($"Plural of 'car': {singular.Pluralize()}");
        string plural = "children";
        content.Add($"Singular of 'children': {plural.Singularize()}");

        // Byte size examples
        long bytes = 1048576;
        content.Add($"1,048,576 bytes: {bytes.Bytes().Humanize()}");

        return content;
    }
}
using Humanizer;
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Instantiate Renderer
        var renderer = new ChromePdfRenderer();
        List<string> content = GenerateHumanizedContent();
        string htmlContent = "<h1>Humanizer Examples</h1><ul>";

        // Iterate over each item in the List and add it to the HTML string
        foreach (var item in content)
        {
            htmlContent += $"<li>{item}</li>";
        }
        htmlContent += "</ul>";

        // Create a PDF from an HTML string using C#
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);

        // Export to a file or stream
        pdf.SaveAs("output.pdf");
    }

    static List<string> GenerateHumanizedContent()
    {
        List<string> content = new List<string>();

        // DateTime examples
        DateTime pastDate = DateTime.Now.AddDays(-3);
        DateTime futureDate = DateTime.Now.AddHours(5);
        content.Add($"DateTime.Now: {DateTime.Now}");
        content.Add($"3 days ago: {pastDate.Humanize()}");
        content.Add($"In 5 hours: {futureDate.Humanize()}");

        // TimeSpan examples
        TimeSpan timeSpan = TimeSpan.FromMinutes(123);
        content.Add($"TimeSpan of 123 minutes: {timeSpan.Humanize()}");

        // Number examples
        int number = 12345;
        content.Add($"Number 12345 in words: {number.ToWords()}");
        content.Add($"Ordinal of 21: {21.ToOrdinalWords()}");

        // Pluralization examples
        string singular = "car";
        content.Add($"Plural of 'car': {singular.Pluralize()}");
        string plural = "children";
        content.Add($"Singular of 'children': {plural.Singularize()}");

        // Byte size examples
        long bytes = 1048576;
        content.Add($"1,048,576 bytes: {bytes.Bytes().Humanize()}");

        return content;
    }
}
Imports Humanizer
Imports IronPdf
Imports System
Imports System.Collections.Generic

Friend Class Program
	Shared Sub Main()
		' Instantiate Renderer
		Dim renderer = New ChromePdfRenderer()
		Dim content As List(Of String) = GenerateHumanizedContent()
		Dim htmlContent As String = "<h1>Humanizer Examples</h1><ul>"

		' Iterate over each item in the List and add it to the HTML string
		For Each item In content
			htmlContent &= $"<li>{item}</li>"
		Next item
		htmlContent &= "</ul>"

		' Create a PDF from an HTML string using C#
		Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

		' Export to a file or stream
		pdf.SaveAs("output.pdf")
	End Sub

	Private Shared Function GenerateHumanizedContent() As List(Of String)
		Dim content As New List(Of String)()

		' DateTime examples
		Dim pastDate As DateTime = DateTime.Now.AddDays(-3)
		Dim futureDate As DateTime = DateTime.Now.AddHours(5)
		content.Add($"DateTime.Now: {DateTime.Now}")
		content.Add($"3 days ago: {pastDate.Humanize()}")
		content.Add($"In 5 hours: {futureDate.Humanize()}")

		' TimeSpan examples
		Dim timeSpan As TimeSpan = System.TimeSpan.FromMinutes(123)
		content.Add($"TimeSpan of 123 minutes: {timeSpan.Humanize()}")

		' Number examples
		Dim number As Integer = 12345
		content.Add($"Number 12345 in words: {number.ToWords()}")
		content.Add($"Ordinal of 21: {21.ToOrdinalWords()}")

		' Pluralization examples
		Dim singular As String = "car"
		content.Add($"Plural of 'car': {singular.Pluralize()}")
		Dim plural As String = "children"
		content.Add($"Singular of 'children': {plural.Singularize()}")

		' Byte size examples
		Dim bytes As Long = 1048576
		content.Add($"1,048,576 bytes: {bytes.Bytes().Humanize()}")

		Return content
	End Function
End Class
VB   C#

Humanizer C#(Wie es für Entwickler funktioniert): Abbildung 11 - PDF-Ausgabe

Schlussfolgerung

Humanizer ist eine unverzichtbare Bibliothek für .NET-Entwickler, die Anwendungen erstellen möchten, die Informationen in einem benutzerfreundlichen und für Menschen lesbaren Format darstellen. Sein breites Spektrum an Funktionen, von der Datums- und Zeitanzeige bis zur Formatierung von Zahlen und Aufzählungen, macht es zu einem vielseitigen Werkzeug zur Verbesserung der Benutzerfreundlichkeit von Anwendungen. Durch den Einsatz von Humanizer können Entwickler Zeit und Aufwand bei der Implementierung benutzerdefinierter Formatierungslogik sparen und sicherstellen, dass ihre Anwendungen Daten effektiver an die Endbenutzer weitergeben.

Ebenso bietet IronPDF umfassende Funktionen zur PDF-Erzeugung und -Bearbeitung und ist damit eine ausgezeichnete Wahl für die Erstellung und Bearbeitung von PDF-Dokumenten in C#-Projekten. Zusammen können Humanizer und IronPDF die Funktionalität und Präsentation von .NET-Anwendungen erheblich verbessern. Weitere Einzelheiten zur IronPDF-Lizenzierung finden Sie in derIronPDF-Lizenzierungsinformationen. Um mehr zu erfahren, besuchen Sie unsereAusführliche Anleitung zur Konvertierung von HTML in PDF.

< PREVIOUS
TensorFlow .NET (Wie es für Entwickler funktioniert)
NÄCHSTES >
OpenAPI .NET (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.12 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,810,873 Lizenzen anzeigen >