C#: mediul de lucru pentru aplicații desktop
Configurează un proiect C# pentru Windows Forms, verifică versiunea și separă .NET Framework de .NET modern. Primul pas către un proiect reproductibil.
În acest material
Un program care funcționează numai pe calculatorul autorului este greu de evaluat. Înainte de a desena ferestre, stabilește tipul proiectului, versiunea platformei și fișierele care trebuie predate. Acest parcurs continuă cele opt lecții C# de bază. Ai nevoie să poți explica o condiție, o buclă, un tablou și o metodă înainte de modulele vizuale.
Pentru exemplele desktop alegem Windows Forms pe .NET Framework 4.8, cu sintaxă C# 7.3. Acestea se rulează pe Windows. .NET modern și .NET Framework sunt familii diferite; un SDK recent instalat nu dovedește că un proiect Framework va porni.
Cum lucrezi cu exemplul
Programul complet folosește C# 7.3 și API-uri disponibile în .NET Framework 4.8. Deschide Lesson.csproj din arhivă sau creează un proiect Console App (.NET Framework 4.8) și înlocuiește Program.cs. Datele de demonstrație sunt incluse în cod.
Descarcă sursele și instrucțiunile.
Ideea și pașii de implementare
În Visual Studio, verifică existența componentei de dezvoltare desktop .NET și a pachetului de țintire 4.8. Creează mai întâi Console App (.NET Framework), apoi selectează 4.8. Înlocuiește codul din Program.cs cu exemplul complet. Nu crea simultan două metode Main. Pentru lecțiile vizuale vei folosi Windows Forms App (.NET Framework), eliminând pornirea formularului generat dacă înlocuiești tot Program.cs.
Versiunea limbajului controlează sintaxa acceptată; versiunea framework-ului controlează clasele disponibile. De aceea nu folosim top-level statements, record sau ApplicationConfiguration.Initialize. Păstrează soluția și proiectul în același dosar de lucru, cu nume fără dependențe de calea utilizatorului.
Exemplu și rezultat așteptat
Programul are o intrare fixă, trei verificări deja efectuate de elev, și afișează ce mai lipsește. Pentru valorile true, true, false, rezultatul este LIPSA: fisier de instructiuni. Dacă ultimul element devine true, afișează PREGATIT. Această listă verifică pregătirea proiectului, nu detectează automat programele instalate.
Proiect: Framework 4.8 → Limbaj: C# 7.3 → Surse + resurse → README + probă de pornire.Mărește schema ↗
Codul complet
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Globalization;
using System.Xml.Linq;
using System.Data;
class Program {
static void Main() {
string[] checks = { "surse", "tinta 4.8", "fisier de instructiuni" };
bool[] ready = { true, true, false };
bool all = true;
for (int i = 0; i < checks.Length; i++) {
if (!ready[i]) { Console.WriteLine("LIPSA: " + checks[i]); all = false; }
}
if (all) Console.WriteLine("PREGATIT");
}
}
Rezultatul programului:
LIPSA: fisier de instructiuni
Greșeli și limite
Nu copia folderul bin ca unic proiect: evaluatorul are nevoie de surse și de fișierul de proiect. Nu schimba platforma de la x86 la Any CPU la întâmplare când vei adăuga un provider de baze de date. Notează separat configurația în care ai testat. Pentru concurs, verifică anunțul ediției și configurația calculatorului disponibil; alegerea didactică de aici nu înlocuiește cerințele organizatorului.
Exersează
Creează un README cu numele proiectului, ținta 4.8, pașii de compilare și rezultatul așteptat. Copiază proiectul într-un alt dosar, redeschide soluția și rulează-l. Testează cele două stări ale listei. Explică în două propoziții de ce instalarea unui SDK .NET 10 nu transformă automat un proiect într-o aplicație .NET Framework.
Continuă parcursul
Parcursul complet de 50 de lecții
Lecția următoare: C#: transformă cerințele în teste de acceptare.
Referință: documentația Microsoft. Pentru ediția de concurs, verifică regulamentul ONTI publicat pentru 2026.
Întrebări frecvente
Pot rula Windows Forms pe macOS?
Interfața Windows Forms din acest parcurs necesită Windows. Exemplele de logică fără interfață pot fi verificate separat.
De ce folosim o sintaxă mai veche?
C# 7.3 evită dependența de facilități recente și poate fi compilat în proiectele Framework alese.
Este suficient fișierul executabil?
Nu pentru reproducerea proiectului. Păstrează sursele, proiectul, resursele și instrucțiunile de pornire.
Un pas mai departe
Autentifică-te pentru a păstra progresul în cont.