get ()
{
// Dies generiert einige zufällige Wettervorhersagedaten
var rng =new random ();
Return Enumerable.Range (1, 5) .Select (Index => Neue Wetterforecast
{
Datum =datetime.now.adddays (Index),
Temperaturec =rng.Next (-20, 55),
Zusammenfassung =Zusammenfassungen [rng.Next (summary.length)]]
})
.ToArray ();
}
}
// Dies ist ein einfaches Datenmodell, das eine Wettervorhersage darstellt
Weatherforecast für öffentliche Klasse
{
public dateTime Datum {get; Satz; }
public int temperaturec {get; Satz; }
öffentliche Zeichenfolge Zusammenfassung {get; Satz; }
// Dies ist eine Eigenschaft, die die Temperatur in Fahrenheit berechnet
public int temperaturf => 32 + (int) (temperaturec / 0,5556);
}
}
`` `
Erläuterung:
1. Verwenden von Anweisungen:
* `Verwenden von System;`:Importiert den Systemnamenspace, der grundlegende Klassen wie `datetime`,` random` usw. liefert.
* `Verwenden von System.Collectionss.generic;
* `Verwenden von System.LinQ;
* `Verwenden von System.Threading.Tasks;
* `Verwenden Sie Microsoft.aspnetcore.MVC;
2. Namespace:
* `Namespace myaspnetCoreApp`:Definiert den Namespace für den Code, der dazu beiträgt, Namenskonflikte zu organisieren und zu vermeiden.
3. Controller -Klasse:
* `[Apicontroller]`:Ein Attribut, das angibt, dass diese Klasse ein Controller ist, der für die Bearbeitung von Anfragen verantwortlich ist.
* `[Route (" [Controller] ")]`:Definiert die Basisroute für den Controller, was bedeutet, dass Anfragen an "/weatherForecast" von diesem Controller behandelt werden.
* `Public Class WeatherforeCastController:ControllerBase`:Diese Zeile definiert die Controller -Klasse und erbt von` ControllerBase`. Die "ControllerBase" -Klasse enthält Methoden zum Umgang mit HTTP -Anforderungen und -Tonaktionen.
4. Aktionsmethode:
* `[Httpget]`:Attribut, das diese Methode angibt, behandelt GET -Anforderungen.
* `Public iEnumerable get ()`:Die Methodendefinition.
* `IEnumerable `:Der Rückgabetyp, der angibt, dass diese Methode eine Sammlung von "Weatherforecast" -Objekten zurückgibt.
* `Get ()`:Der Methodame, der auch die Route für diese spezifische Anfrage ist.
* Innerhalb der Methode:
* `var rng =new random ();`:Erstellt eine neue Instanz der `random` -Klasse, die zur Erzeugung von zufälligen Werten verwendet wird.
* `Enumerable.Range (1, 5) .Select (INDEX => NEUE WEATHERFORFORECAST ...)`:Diese Zeile erstellt eine Sammlung von 5 Wettervorhersageobjekten mit LINQ.
* `return ... .toArray ();`:Gibt die generierte Sammlung als Array zurück.
5. Datenmodell:
* `Public Class Weatherforecast`:Definiert eine einfache Klasse, die eine Wettervorhersage darstellt.
* `public datetime Datum {get; Satz; } `:Repräsentiert das Datum der Prognose.
* `public int temperaturec {get; Satz; } `:Repräsentiert die Temperatur in Celsius.
* `public String Zusammenfassung {get; Satz; } `:Repräsentiert eine Zusammenfassung der Wetterbedingungen.
* `public int temperaturF => 32 + (int) (Temperaturec / 0,5556);`:Eine berechnete Eigenschaft, die Celsius in Fahrenheit umwandelt.
Zusammenfassung:
Dieses Programm zeigt die Grundstruktur einer ASP.NET -Kern -MVC -Anwendung, einschließlich:
* Controller: Behandelt Anfragen basierend auf Routen.
* Aktionsmethode: Verarbeitet spezifische Anforderungen innerhalb eines Controllers.
* Datenmodell: Repräsentiert die von der Anwendung behandelten Daten.
* Attribute: Wird verwendet, um das Verhalten von Klassen und Methoden zu definieren.
Dieses Beispiel ist einfach, bietet jedoch eine Grundlage für den Aufbau komplexerer Anwendungen. Sie können es erweitern, indem Sie mehr Controller, Aktionsmethoden und Datenmodelle sowie andere ASP.NET -Kernfunktionen wie Middleware, Abhängigkeitsinjektion und Datenbankintegration hinzufügen.