[ Kamenni @ 19.04.2024. 20:27 ] @
Sa li neko poceo da koeisti Visual Studio 2022
Naime tazlikuje mi se kada otvorim novi projekat....

Nema vise:
using system
name space xxxxxx
{
class program
{
static void main string[] args)
{
int number = 5;

}
}
}
U tmm fazonu je bilo sada kod 20200,a kako vidim da je sve zbog .net 8 i ne moze da se promene veryija...

Dobijem ovo"

1 // See https://aka.ms/new-console-template for more information
2 Console.WriteLine("Hello, World!");
3

I u konzoli radi, ispisuje sve, da li sam negde pogresio ili je to tako u ovoj verziji?

[Ovu poruku je menjao Kamenni dana 19.04.2024. u 21:57 GMT+1]
[ Shadowed @ 19.04.2024. 22:20 ] @
Malo je u pogresnom forumu. Niti je Visual Basic, niti je 6 :)

Elem, to je nov feature u C# 9 i zove se Top-Level statements. Mozes pogledati detaljnije ovde: https://learn.microsoft.com/en...structure/top-level-statements
Ukratko:
-Ovo je pojednostavljen nacin pravljenja malih konzolnih aplikacija
-Mozes imati samo jedan takav fajl
-Argumenti su u magicno prisutnoj promenljivoj args koja je string[]
-Kompajler ce to na kraju, u pozadini, staviti u main funkciju, tako da ce krajnji .exe fajl biti isti, samo ne moras imati u kodu gomilu linija koje su maltene uvek iste.
-Ne moras ovako raditi, mozes i po starom.
[ captaingox @ 20.04.2024. 09:41 ] @
Jedino što mogu da prokomentarišem je da fali otvorena zagrada posle reči main.
[ Kamenni @ 20.04.2024. 11:07 ] @
Da u pravu ste, .net 8 je u njemu, jeste pogresno mesto, nisam znao gde da postavim.
A zagradu sam verovatno propustio jer sam zaboravio naocare u kancelariji :-)
Hvala na odgovorima
[ Kamenni @ 20.04.2024. 13:33 ] @


I da li je normalno da imam samo .NET 8 a nista od nizih verzija?

[Ovu poruku je menjao Kamenni dana 20.04.2024. u 14:58 GMT+1]
[ mjanjic @ 20.04.2024. 13:33 ] @
Isključen je prikaz "top level statements" ili tako nešto, ako se ne varam od verzije .NET 6 jer ih komajler dodaje automatski, tako da moraš da odčekiraš opciju kao na slici:

[ Shadowed @ 20.04.2024. 13:49 ] @
5
[ Kamenni @ 20.04.2024. 14:02 ] @
Citat:
mjanjic:
Isključen je prikaz "top level statements" ili tako nešto, ako se ne varam od verzije .NET 6 jer ih komajler dodaje automatski, tako da moraš da odčekiraš opciju kao na slici:






Hvala ali ne mogu da nadjem tu opciju
[ Kamenni @ 20.04.2024. 14:03 ] @
Citat:
mjanjic:
Isključen je prikaz "top level statements" ili tako nešto, ako se ne varam od verzije .NET 6 jer ih komajler dodaje automatski, tako da moraš da odčekiraš opciju kao na slici:































Hvala ali ne mogu da nadjem tu opciju
[ mjanjic @ 20.04.2024. 15:47 ] @
Ima kad se kreira projekat i kad se bira verzija .NET-a, samo se različito prikazuje zavisno od verzije ažuriranja VS2022, kod mene je ta opcija u sredini između "Enable OpenAPI Support" (što je nekadašnji Swagger) i "Use controllers" i podrazumevano je čekirana.

Ne znam da li može da se izmeni nakon kreiranja projekta, ima više tema na Stackoverflow.


ISPRAVKA: Za eksplicitno generisanje Program klase i Main metode ipak je neophodno da opcija bude čekirana, jer "top-level statements" podrazumeva da se taj kod dodaje automatski pri kompajliranju ili kompajler tretira sve u Program.cs kao deo Main metode Program klase.

Ova "inovacija" nije problem kada ti u Program.cs fajlu treba samo Program klasa i kada u njoj postoji samo Main metoda, što je kod složenijih projekata sa više aplikacija i kodom razdvojenim u veći broj fajlova i klasa.