Hey folks, I'm coming along to tell you a few things about the new feature of C# 9. Every time you want to start a new project, you always have the same Main File, with the same structure. At the next version of C# (version 9), we'll have a new feature called Top Level Statement
. With that, we'll be able to code our app without any namespace/class/public void static main structure. Take a look at the code below.
using System;
Console.WriteLine("Hello World!");
It looks pretty simple, but with this, you can play around with your code, and even code a simple/tiny Web API. To start playing with the new features, firstly download the .net 5 SDK and change your .csproj
file to target the .net 5 and language preview like bellow.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
<LangVersion>preview</LangVersion>
</PropertyGroup>
</Project>
And you're ready to play with the awesome features available in the preview. Let's code a way to get the image of the day from NASA API and print the Picture of the Day. No awesome code here, it's really a way to show how simple a simple call could be. After here, why not save the image in a file? Maybe send the file over telegram?
using System;
using System.Net.Http;
using System.Text.Json;
var API = "https://api.nasa.gov/planetary/apod?hd=true&api_key=DEMO_KEY";
var cli = new HttpClient();
var response = await cli.GetAsync(API);
var data = JsonSerializer.Deserialize<NasaApi>(await response.Content.ReadAsStringAsync());
Console.WriteLine(data.Url);
That's it for today folks. Keep an eye open for the awesome features C# 9 will bring to us, there's plenty more features already available.