get ()
{
// Dit genereert enkele willekeurige weersvoorspellingsgegevens
var rng =new Random ();
Return Enumclerable.Range (1, 5) .Select (index => Nieuw Weatherforecast
{
Datum =dateTime.now.Adddays (index),
Temperaturec =rng.next (-20, 55),
Samenvatting =samenvattingen [rng.next (samenvattingen.length)]
})
.ToArray ();
}
}
// Dit is een eenvoudig gegevensmodel dat een weersvoorspelling vertegenwoordigt
Public Class Weatherforecast
{
public DateTime Date {get; set; }
public int temperaturec {get; set; }
public String Samenvatting {get; set; }
// Dit is een eigenschap die de temperatuur in Fahrenheit berekent
public int temperatuurf => 32 + (int) (temperaturec / 0.5556);
}
}
`` `
Verklaring:
1. Richtlijnen gebruiken:
* `Systeem gebruiken;`:importeert de systeemnaamruimte, die fundamentele klassen biedt zoals `DateTime`,` Random ', etc.
* `System.Collections.Generic gebruiken;`:Importeert de naamruimte van de generieke collecties en biedt klassen als `iesumerable ',` List`, etc.
* `System.linq;`:importeert de Linq -naamruimte en biedt methoden voor het werken met collecties.
* `System.threading.tasks gebruiken;`:importeert de taaknaamruimte, waardoor asynchrone bewerkingen mogelijk zijn.
* `Microsoft.aspnetcore.mvc gebruiken;`:importeert de ASP.NET Core MVC -naamruimte en biedt klassen zoals `ControllerBase`,` httpget`, `apicontroller`, etc.
2. Naamruimte:
* `Namespace myaspnetCoreApp`:definieert de naamruimte voor de code, die helpt bij het organiseren en vermijden van naamconflicten.
3. Controller klasse:
* `[Apicontroller]`:Een kenmerk dat aangeeft dat deze klasse een controller is, die verantwoordelijk is voor het verwerken van aanvragen.
* `[Route (" [controller] "")] `:definieert de basisroute voor de controller, wat betekent dat aanvragen om`/Weatherforecast` door deze controller worden afgehandeld.
* `Public Class WeatherforecastController:ControllerBase`:deze lijn definieert de controllerklasse, overname van` ControllerBase`. De klasse `ControllerBase` biedt methoden voor het verwerken van HTTP -aanvragen en antwoorden.
4. Actiemethode:
* `[HTTPGET]`:Attribuut dat deze methode aangeeft, behandelt GET -aanvragen.
* `Public IEnumerable get ()`:de methode definitie.
* `IEnumerable `:het retourtype, dat aangeeft dat deze methode een verzameling `Weatherforecast' -objecten retourneert.
* `Get ()`:de methodenaam, die ook de route is voor dit specifieke verzoek.
* Binnen de methode:
* `var rng =new Random ();`:maakt een nieuwe instantie van de klasse 'willekeurig', gebruikt om willekeurige waarden te genereren.
* `Bekniperbaar.Range (1, 5) .Select (index => Nieuw Weatherforecast ...)`:Deze lijn maakt een verzameling van 5 weersvoorspellingsobjecten met Linq.
* `Return ... .toArray ();`:Retourneert de gegenereerde collectie als een array.
5. Gegevensmodel:
* `Public Class Weatherforecast`:definieert een eenvoudige klasse die een weersvoorspelling vertegenwoordigt.
* `Public DateTime Date {get; set; } `:Vertegenwoordigt de datum van de voorspelling.
* `public int temperaturec {get; set; } `:Vertegenwoordigt de temperatuur in Celsius.
* `public String Samenvatting {get; set; } `:Vertegenwoordigt een samenvatting van de weersomstandigheden.
* `public int temperatuurf => 32 + (int) (temperaturec / 0.5556);`:een berekende eigenschap die Celsius converteert naar Fahrenheit.
Samenvatting:
Dit programma demonstreert de basisstructuur van een ASP.NET Core MVC -applicatie, inclusief:
* controller: Behandelt verzoeken op basis van routes.
* Actiemethode: Verwerkt specifieke verzoeken binnen een controller.
* Datamodel: Vertegenwoordigt de gegevens die door de toepassing worden afgehandeld.
* attributen: Gebruikt om het gedrag van klassen en methoden te definiëren.
Dit voorbeeld is eenvoudig, maar het biedt een basis voor het bouwen van meer complexe toepassingen. U kunt het uitbreiden door meer controllers, actiemethoden en gegevensmodellen toe te voegen, evenals het gebruik van andere ASP.NET -kernfuncties zoals middleware, afhankelijkheidsinjectie en database -integratie.