Documente Academic
Documente Profesional
Documente Cultură
Disciplina:
Tehnicile LINQ
Laborator Nr. 1
Tema:
” Noţiuni de bază LINQ. Componente. Extinderea C # pentru LINQ”
Chișinău 2021
Codul sursă:
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Lab1LINQ
{
internal class Program
{
//Creez corpul funcției principale Main
static void Main(string[] args)
{
//Declar o variabilă ce va corespunde numărului de elevi ce va dori să
introducă utilizatorul
int studentsNumber = 0;
//Folosesc blockul try-catch pentru a evita exceptiile posibile la
introducerea unei variabile de tip integer
try
{
//Setez culoarea de fon al textului
Console.BackgroundColor = ConsoleColor.Black;
//Setez culoarea textului
Console.ForegroundColor = ConsoleColor.Blue;
//Afișez un mesaj în care cer să se introducă variabila
Console.Write("Introduceti numarul de studenti: ");
//Introduc variabila de la tastatură
studentsNumber = int.Parse(Console.ReadLine());
}
//Tratez exceptia afișând un mesaj și însuși excepția
catch (Exception ex)
{
Console.WriteLine("Eroare la introducerea numarului de studenti!\
n" + ex.Message);
}
Console.Write("Nume: ");
string name = Console.ReadLine();
Console.Write("Prenume: ");
string prenume = Console.ReadLine();
Console.Write("Varsta: ");
int varsta = 0;
varsta = int.Parse(Console.ReadLine());
Console.Write("Gen: ");
string gen = Console.ReadLine();
Console.Write("GSM: ");
string gsm = Console.ReadLine();
Console.WriteLine("\n\n");
elevi.Add(new Elevi.Builder()
.withNume(name)
.withPrenume(prenume)
.withVarsta(varsta)
.withGen(gen)
.withTipContract(tipC)
.withGSM(gsm)
.build());
}
//Tratez exceptiile posibile la introducerea datelor de la
tastatură
catch (Exception ex)
{
Console.WriteLine("Tipul/Tipurile de date introduse nu
corespund cerintelor!\n" + ex.Message);
}
}
}
}
}
Elevi.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Lab1LINQ
{
public class Elevi
{
}
//Declar toate atributele corespunzatoare unui elev
public int Id { get; set; }
}
//Creez metoda pentru afișarea datelor unui elev
public void showElevi()
{
Console.WriteLine("ID: " + Id);
Console.WriteLine("Nume: " + Nume);
Console.WriteLine("Prenume: " + Prenume);
Console.WriteLine("Varsta: " + Varsta);
Console.WriteLine("Gen: " + Gen);
Console.WriteLine("Tipul contractului: " + TipContract);
Console.WriteLine("GSM: " + GSM);
}
}
Functii.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Lab1LINQ
{
public class Functii
{
//Creez funcția pentru afișarea listei de studenți care au >= 18 ani
public void printAdultStudents(List<Elevi> elevi)
{
//Setez culoarea textului
Console.ForegroundColor = ConsoleColor.Blue;
//Folosind biblioteca LINQ si interfata IEnumerable, selectez
studenții
IEnumerable<Elevi> ListaElevilor = elevi.Where(elev => elev.Varsta >=
18);
//Folosind ciclul foreach, afișez fiecare student selectat
foreach (Elevi elev in ListaElevilor)
{
elev.showElevi();
}
}