Mtp pdf
Master C# Knowledge Quiz
Put your C# skills to the test with our comprehensive quiz designed for programmers at all levels. Challenge yourself or compete with others to see who knows the most about C# coding principles, error handling, and class structures.
Features:
- 60 insightful questions
- Multiple choice format
- Covering various aspects of C# programming
Cum poate o clasă derivată să oprească moştenirea caracterului virtual al unui membru din clasa de bază?
Prin declararea acestuia ca sealed override.
Prin inserarea cuvântului cheie new în declarația acestuia.
Prin omiterea cuvântului cheie virtual în declarația acestuia.
Ce se va întâmpla la apelarea metodei următoare? Public void Metoda() { int i=5; while (i = I + 0) { Console.WriteLine("Hello"); } }
Cum se face in C# asocierea prin cod a unui control cu un handler de evenimente?
)button1.Click += button1_Click;
Button1.Click()+=button1_Click();
Button1.Click=button1_Click();
Ce se va întâmpla la apelarea metodei următoare?
public void Metoda()
{
int i=5;
while (i = I + 0) {
Console.WriteLine("Hello");
}
}
public void Metoda()
{
int i=5;
while (i = I + 0) {
Console.WriteLine("Hello");
}
}
Metoda va fi parasita fara a se afisa nimic
Aplicatia intri in bucla infinita
)va aparea eroare de tip StackOverflow
Va afisa o singura data stringul "Hello'
O conversie de la Int32 la Single reprezintă:
O conversie cu posibile pierderi de informații.
O conversie narrowing
O conversie widening fără pierderi de informații.
Ce va afişa la rulare programul următor?
class Exemplu
{
public int x;
private int y;
public void Atribuire(int a, int b)
{
x = a + 1;
y = b;
}
public class Program
{
public static void Main(string[] args)
{
Exemplu e = new Exemplu();
e.Atribuire(1, 1);
Console.WriteLine(e.x + " " + e.y);
}
}
}
class Exemplu
{
public int x;
private int y;
public void Atribuire(int a, int b)
{
x = a + 1;
y = b;
}
public class Program
{
public static void Main(string[] args)
{
Exemplu e = new Exemplu();
e.Atribuire(1, 1);
Console.WriteLine(e.x + " " + e.y);
}
}
}
A. 2 1
B. Programul nu va afişa nimic deoarece va da eroare la compilare (inaccesibilitatea unui membru).
C.11
D. Programul se va compila cu succes, dar nu va afişa nimic.
Care din următoarele afirmaţii este adevărată?
A. Un obiect de tip DataAdapter transferă date între o conexiune si un DataSet.
B. Un obiect de tip DataAdapter transferă date între un DataTable si un DataSet
c. Un obiect de tip DataSet transferă date între o conexiune si un DataTable.
Cum se poate face declararea, instanțierea și inițializarea unui vector cu 4 elemente pe o singură linie de cod?
A.int[] vector = new int[1,2,3,4];
B.int[] vector = new int[]{4,5,6,7};
C.int vector[] = new int[4]{1,2,3,4};
Care dintre următoarele afirmații este adevărată?
A. Metodele de extensie pot fi definite numai ca membri ai claselor statice.
b. Metodele de extensie se declară prin adăugarea în definiția lor a cuvântului cheie extend.
C. Metodele de extensie trebuie să returneze obiectul this.
Ce va afişa la ieșire următoarea secvenţă de cod?
for (int I = 0; I < 5; i++)
{
for (int j=0; j < 5; j++)
Examen 5
{
}
if (i==j)
break;
Console.Write("0 ", j++);
for (int I = 0; I < 5; i++)
{
for (int j=0; j < 5; j++)
Examen 5
{
}
if (i==j)
break;
Console.Write("0 ", j++);
A.0 2 4 0 0 2 4 0 2
B.1 3 5 1 1 3 5 1 3
C.0 0 1 0 1 2 0 1 2 3
Care sunt toate cuvintele cheie folosite pentru implementarea tratării erorilor în C#?
A. try, catch
B. try, catch, error
C. try, catch, finally, throw
D. try, catch, throw, exception
Care dintre următoarele secvențe de cod va genera eroare la compilare?
A. Public class C1s1 { protected static double val = 3.14; public void Print() { } } Console.WriteLine(val);
Public static class C1s3 { private const int val = 0; public static void Print() { Console.WriteLine(val); } Examen 6 }
C. Public class C1s2 { private int val = 0; public static void Print() { Console.WriteLine(val); } }
Ce va afişa la ieșire codul de mai jos?
static void Metoda (int val)
{
val = 0;
}
static void Metodal (ref int val)
{
}
val = 1;
static void Metoda2 (out int val)
{
val 2;
}
static void Main(string[] args)
{
int 1-3; Metoda2 (out i); Console.WriteLine(i);
Metodal(ref i);
Console.WriteLine(1);
Metoda(1);
Console.WriteLine(1);
}
static void Metoda (int val)
{
val = 0;
}
static void Metodal (ref int val)
{
}
val = 1;
static void Metoda2 (out int val)
{
val 2;
}
static void Main(string[] args)
{
int 1-3; Metoda2 (out i); Console.WriteLine(i);
Metodal(ref i);
Console.WriteLine(1);
Metoda(1);
Console.WriteLine(1);
}
2 1 1
Se dă următoarea clasă:
class Clasal
{
public Clasal() {}
public Clasal (int valoare) {}
Cum ar putea fi modificat primul constructor astfel încât acesta să îl apeleze pe cel
de al doilea (cu parametru)?
class Clasal
{
public Clasal() {}
public Clasal (int valoare) {}
Cum ar putea fi modificat primul constructor astfel încât acesta să îl apeleze pe cel
de al doilea (cu parametru)?
A.public Clasal() { return new this(10); }
B. public Clasal(): this(10) }
C.public Clasal() { this(10); }
Ce face metoda de mai jos?
public int Func(int n)
{
if (n != 0)
return (n % 10+ Func(n / 10));
{
}
else
{
return 0;
}
}
public int Func(int n)
{
if (n != 0)
return (n % 10+ Func(n / 10));
{
}
else
{
return 0;
}
}
A. Verifică dacă n este divizibil cu orice putere a lui 10.
B. Verifică dacă n este divizibil cu 10.
C. Returnează suma cifrelor numărului n.
D. Returnează restul împărțirii lui n la 10.
Ce proprietate trebuie să setați pentru a desena un text folosind antialiasing?
A. TextAntialiasing
B. TextSmoothingStyle
C. TextRenderingHint
O interfaţă poate declara:
A. Variabile, metode, evenimente şi delegaţi
B. Variabile, metode şi proprietăţi.
C. Metode, proprietăți și evenimente.
Care dintre următoarele variante este cea corectă pentru apelarea metodei Afisare
din clasa Test de mai jos?
class Test
{
public int Afisare (int i)
{
Console.WriteLine("Valoarea este + i);
return 0;
}
}
din clasa Test de mai jos?
class Test
{
public int Afisare (int i)
{
Console.WriteLine("Valoarea este + i);
return 0;
}
}
A. Delegate void del(int i); Test t = new Test(); del d = new del (ref t.Afisare); d(10);
B. Delegate int del(int i); del d; Test t = new Test(); Examen 9 d = new del(ref t.Afisare); d(10);
C. Delegate int del(int i); Test t = new Test(); del new delegate (ref Afisare); del(10);
Ce va afişa la ieșire codul de mai jos?
static bool Metoda1()
{
Console.WriteLine("Metoda 1");
return false;
}
static bool Metoda2()
{
Console.WriteLine("Metoda 2");
return true;
}
static void Main(string[] args)
{
if (Metoda1() & Metoda2())
{
Console.WriteLine("Bloc If");
}
}
static bool Metoda1()
{
Console.WriteLine("Metoda 1");
return false;
}
static bool Metoda2()
{
Console.WriteLine("Metoda 2");
return true;
}
static void Main(string[] args)
{
if (Metoda1() & Metoda2())
{
Console.WriteLine("Bloc If");
}
}
A. Metoda 1 Metoda 2 Bloc If
B. Metoda 1 Metoda 2
C. Metoda 1 Bloc If
Ce va afişa la rulare următoarea secvență de cod?
class Clasal {
public virtual void Metoda() {
Console.Write("Metoda1");
}
}
class Clasa2 Clasal {
public override void Metoda() {
Console.Write("Metoda2");
}
}
// ...
Clasa2 obj2 - new Clasa2();
obj2.Metoda();
Console.Write(",");
Clasal obj1 (Clasa1)obj2;
obj1.Metoda();
class Clasal {
public virtual void Metoda() {
Console.Write("Metoda1");
}
}
class Clasa2 Clasal {
public override void Metoda() {
Console.Write("Metoda2");
}
}
// ...
Clasa2 obj2 - new Clasa2();
obj2.Metoda();
Console.Write(",");
Clasal obj1 (Clasa1)obj2;
obj1.Metoda();
A.Metoda2,Metoda2
B.Metoda1, Metoda2
C.Metoda2, Metoda1
Ce va afişa la apelare metoda de mai jos?
public void Metoda238()
{
try
{
throw new NullReferenceException("C");
Console.WriteLine("A");
}
catch (ArithmeticException e)
{
Console.WriteLine("B");
}}
public void Metoda238()
{
try
{
throw new NullReferenceException("C");
Console.WriteLine("A");
}
catch (ArithmeticException e)
{
Console.WriteLine("B");
}}
A. System.NullReferenceException: C A B
B. System.NullReferenceException: C
C. System.NullReferenceException: C A System.ArithmeticException B
D. System.NullReferenceException: C B
Ce va returna apelul Metoda("abcd")?
public string Metoda (string s)
{
string rez = " ";
for (int i=s.Length 1; I >= 0; i--)
rez += s[i];
return rez;
}
public string Metoda (string s)
{
string rez = " ";
for (int i=s.Length 1; I >= 0; i--)
rez += s[i];
return rez;
}
A. dcb
B. abcdcba
C. abc
D. abcd
E. dcba
Se consideră două clase: Cls1, Cls2 și două interfețe: Interf1, Interf2. Care din
următoarele declarații alle clasei Cls3 va genera eroare la compilare?
următoarele declarații alle clasei Cls3 va genera eroare la compilare?
A. class C153 : C1s1, C1s2 { }
B. class C1s3 : Interf1, Interf2 { }
C. class C1s3 : Cls1, Interf1 { }
Pentru afişarea modală a unui formular îi vom apela metoda:
A. DoModal()
B. ModalDisplay()
C. ShowDialog()
Care dintre afirmaţiile următoare este falsă?
A. Într-o metodă statică nu putem folosi cuvântul this
B. Metodele de extensie sunt metode statice.
C. În declaraţia unui indexator nu putem folosi cuvântul this.
Care dintre următoarele clase permit instanţierea validă a unor obiecte de tip pensulă?
A. SolidBrush, HatchBrush, LinearGradientBrush.
B. Brush, Hatch Brush, PathGradientBrush.
C. Brush, TextureBrush, HatchBrush.
Ce va afişa la ieşire următoarea secvenţă de cod?
for (int I = 0; I < 5; i++)
{
for (int j=0; j < 5; j++)
{
if (i == j)
break;
Console.Write("0", j++);
}
for (int I = 0; I < 5; i++)
{
for (int j=0; j < 5; j++)
{
if (i == j)
break;
Console.Write("0", j++);
}
A.0 0 1 0 1 2 0 1 2 3
B.135113513
C.02400 240 2
Care proprietăţi ale unui formular permit desemnarea acţiunilor implicite efectuate la apăsarea de către utilizator a tastelor ENTER, respectiv ESC?
A. Enter şi Escape.
B. AcceptButton și CancelButton.
C. OkCommand și CancelCommand
Gradul de transparență (0% - 100% ) a unei ferestre se poate indica prin setarea proprietății:
A. TransparencyKey
B. Opacity
C. Transparency
Care dintre următoarele afirmaţii este falsă?
A. BindingSource incapsulează toate datele din DataSet și oferă funcții pentru controlul acestora din cadrul programului.
B. Un obiect DataSet stochează datele dintr-un tabel al unei baze de date.
C. TableAdapterManager utilizează relațiile de tip foreign-key pentru determinarea ordinii corecte de trimitere a comenzilor Insert, Update sau Delete către o bază de date.
Care din următoarele afirmații este adevărată?
A. Fereastra Command Window poate apela comenzi ale mediului de dezvoltare integrat Visual Studio.
C. Fereastra Command Window poate executa secvențe de cod C#.
b. Fereastra Command Window poate apela orice comandă specifică sistemului de operare Windows.
Ce face funcţia următoare?
public bool Metoda (string s)
{
int min = 0;
int max=s.Length;
while (true)
{
if (min > max)
{
return true;
}
else
{
if (s[min] != s[max])
{
return false;
}
min++;
max--;
}}
public bool Metoda (string s)
{
int min = 0;
int max=s.Length;
while (true)
{
if (min > max)
{
return true;
}
else
{
if (s[min] != s[max])
{
return false;
}
min++;
max--;
}}
A. Verifică dacă stringul s conține caractere duplicate.
B.Verifică dacă stringul s este palindrom (este acelaşi indiferent de sensul în care este citit).
C. Verifică dacă stringul s conține un număr impar de caractere.
D. Returnează stringul s inversat.
E. Verifică dacă stringul s conține un număr par de caractere.
Care dintre următoarele afirmații este adevărată?
A. O proprietate write-only va returna întotdeauna o valoare
B. O proprietate poate fi read-only sau write-only
C. O proprietate write-only va avea numai accesorul get.
Pentru ce este folosit în C# cuvântul cheie checked?
A. Verificarea compatibilității conversiilor între diferite tipuri de date.
B. Verificarea faptului că variabilele implicate în operații aritmetice sunt inițializate înainte de utilizare.
C. Verificarea depășirilor (overflow) la efectuarea conversiilor și operaţiilor aritmetice
Ce va afişa la rulare următorul program?
public static void Main(string[] args)
{
int I, j 1, k;
for (i = 0; I < 5; i++)
{
k = j++ + ++j;
Console.Write(k + " ");
}
}
{
int I, j 1, k;
for (i = 0; I < 5; i++)
{
k = j++ + ++j;
Console.Write(k + " ");
}
}
4 8 12 16 20
Care dintre următoarele afirmații este adevărată?
A. Clasa care declară un indexator trebuie să declare cel puțin un constructor static.
B. În cazul indexatorilor, C# impune limitarea ca tipul indexului să fie int
C. În C# puteți declara indexatori multidimensionali.
Care este specificatorul de acces care permite doar claselor derivate să acceseze membrii din clasa de bază?
A. public
B. internal
C. protected
D. private
Ce va calcula metoda următoare?
public double Metoda (int n)
{
if (n == 1)
}
return 1;
else
return n Metoda (n - 1);
public double Metoda (int n)
{
if (n == 1)
}
return 1;
else
return n Metoda (n - 1);
A. Suma lui Gauss (1 + 2 + ... + n)
B. Al n-lea număr din şirul lui Fibonacci.
N factorial
D. n* (n-1)
În C# un jagged array reprezintă:
A. Un vector de object.
B. O matrice.
C. Un vector de vectori.
D. Un vector bidimensional.
Ce se întâmplă la modificarea valorii unui obiect de tip StringBuilder?
A. Se modifică direct valoarea obiectului.
B. Se creează un nou obiect de tip String care conţine valoarea modificată.
C. Se creează o copie a obiectului inițial care conţine valoarea modificată.
Care dintre afirmațiile următoare este corectă în legătură cu interfețele din C#?
A. Interfeţele sunt declarate folosind cuvântul cheie interface.
B. Metodele interfețelor sunt publice.
C. Ambele afirmații de mai sus sunt corecte.
D. Niciuna dintre afirmațiile de mai sus nu este corectă.
Care afirmație este adevărată în legătură cu câmpurile readonly și const?
A. Câmpurile const pot avea orice tip de dată dar nu pot fi inițializate cu orice valoare.
B. Valoarea unui câmp readonly este determinată la compilare.
C. Atât câmpurile readonly cât şi cele const pot fi utilizate în etichetele case din blocurile switch.
Ce face codul:
public class Program
{
public class Class1
{
public virtual string Metoda()
{
return "Class1";
}
}
public class Class2 : Class1
{
public override string Metoda()
{
return "Class2";
}
}
public class Class3 : Class2
{
public new string Metoda()
{
return "Class3";
}
}
public static void Main(string[] args)
{
Class1 obj1 = new Class1();
Class1 obj2 = new Class2();
Class1 obj3 = new Class3();
Console.WriteLine(obj1.Metoda());
Console.WriteLine(obj2.Metoda());
Console.WriteLine(obj3.Metoda());
}
}
public class Program
{
public class Class1
{
public virtual string Metoda()
{
return "Class1";
}
}
public class Class2 : Class1
{
public override string Metoda()
{
return "Class2";
}
}
public class Class3 : Class2
{
public new string Metoda()
{
return "Class3";
}
}
public static void Main(string[] args)
{
Class1 obj1 = new Class1();
Class1 obj2 = new Class2();
Class1 obj3 = new Class3();
Console.WriteLine(obj1.Metoda());
Console.WriteLine(obj2.Metoda());
Console.WriteLine(obj3.Metoda());
}
}
Class1 Class2 Class1
Cum se face convertirea codului Intermediate Language în cod maşină în timpul rulării unui program C#?
A. Prin lansarea compilatorului .Net Core specific limbajului C#
B. Prin lansarea compilatorului pentru cod gestionat.
C. Prin lansarea compilatorului Just-In-Time.
Care dintre următoarele secvențe de cod va genera eroare la compilare?
A. Public class C1s2 { private int val = 0; public static void Print() { Console.WriteLine(val); } }
B. Public static class C1s3 { private const int val = 0; public static void Print() { Console.WriteLine(val); } }
C. Public class C1s1 { protected static double val = 3.14; public void Print() { Console.WriteLine(val); } }
Ce va afişa la rulare următorul program?
public Delegate void Del(int n);
public class TestDelegate
{
public void VerificaParitate(int n)
{
if(n%2==0)
Console.WriteLine("Numar par");
else
Console.WriteLine("Numar impar");
}
public void PatratNumar(int n)
{
Console.WriteLine("Patrat numar: 0", n*n);
}
}
class Exemplu
{
public static void Main()
{
TestDelegate obj = new TestDelegate();
Del delObj = new Del(obj. VerificaParitate);
delObj += new Del(obj. PatratNumar);
delObj(25);
}
}
public class TestDelegate
{
public void VerificaParitate(int n)
{
if(n%2==0)
Console.WriteLine("Numar par");
else
Console.WriteLine("Numar impar");
}
public void PatratNumar(int n)
{
Console.WriteLine("Patrat numar: 0", n*n);
}
}
class Exemplu
{
public static void Main()
{
TestDelegate obj = new TestDelegate();
Del delObj = new Del(obj. VerificaParitate);
delObj += new Del(obj. PatratNumar);
delObj(25);
}
}
A. Numar impar Patrat numar: 625
B. Patrat numar: 625
C. Programul va rula fără probleme însă nu va fişa nimic.
D. Nu va afişa nimic deoarece va da eroare la rulare.
E. Numar impar
Care dintre următoarele afirmaţii este corectă în legătură cu spaţiile de nume din C#?
A. Este permisă existenţa mai multor clase cu același nume, dacă fiecare face parte dintr-un spațiu de nume diferit.
B. Cuvântul cheie using indică faptul că programul poate folosi direct numele tipurilor de date definite într-un spațiu de nume, fără a fi nevoie de prefixarea lor cu spațiul de nume.
C. Se poate defini un spațiu de nume în interiorul unui alt spațiu de nume.
D. Toate afirmațiile de mai sus sunt corecte.
E. Niciuna dintre afirmațiile de mai sus nu este corectă.
Ce va afişa la rulare codul de mai jos?
class MyApplication
{
static void Main(string[] args)
{
int n = 1;
Metoda1(n);
Console.Write("{0}, ", n);
Metoda2 (ref n);
Console.Write("{0}, ", n);
}
static void Metodal(int n)
}
n += 10;
Console.Write("{0}, ", n);
static void Metoda2 (ref int n)
{
n = n + 10;
Console.Write("{0}, ", n);
}
class MyApplication
{
static void Main(string[] args)
{
int n = 1;
Metoda1(n);
Console.Write("{0}, ", n);
Metoda2 (ref n);
Console.Write("{0}, ", n);
}
static void Metodal(int n)
}
n += 10;
Console.Write("{0}, ", n);
static void Metoda2 (ref int n)
{
n = n + 10;
Console.Write("{0}, ", n);
}
A. 11, 1, 21, 11,
B. 11, 11, 21, 21,
C. 11, 1, 11, 11,
Care dintre următoarele afirmații este corectă în legătură cu metodele statice ale unei clase?
A. O metodă statică poate fi declarată ca membru al unei clase nestatice.
B. Metodele statice pot accesa numai variabile membre care sunt statice.
C. Ambele afirmaţii de mai sus sunt corecte.
Care este specificatorul de acces care îi permite unei clase să își ascundă membrii faţă de alte clase, cu excepția claselor derivate din cadrul aceleiaşi aplicaţii?
A. internal
B. private
C. public
D. protected
E. Protected internal
Ce afiseaza:
class Program
{
class Baza
{
public void Afisare()
{
Console.Write("Afisare Baza" + " , ");
}
}
class Deriv1: Baza
{
private void Afisare()
{
Console.Write("Afisare Deriv1" + " ,");
}
}
class Deriv2: Derivi
{
new void Afisare()
{
Console.Write("Afisare Deriv2" + ", ");
}
}
static void Main(string[] args)
{
Deriv2 d = new Deriv2();
d.Afisare();
}
}
class Program
{
class Baza
{
public void Afisare()
{
Console.Write("Afisare Baza" + " , ");
}
}
class Deriv1: Baza
{
private void Afisare()
{
Console.Write("Afisare Deriv1" + " ,");
}
}
class Deriv2: Derivi
{
new void Afisare()
{
Console.Write("Afisare Deriv2" + ", ");
}
}
static void Main(string[] args)
{
Deriv2 d = new Deriv2();
d.Afisare();
}
}
A.Afisare Deriv2
B.Afisare Deriv2, Afisare Deriv1, Afisare Baza
C.Afisare Baza
Ce se va afisa in consola dupa executarea urmatoarei secvente de cod?
int a = 0, b = 0, c = 0;
try
{
a = b / c;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
try
{
b = a / c;
}
catch
{
return;
}
}
finally
{
Console.WriteLine("Finally.");
}
int a = 0, b = 0, c = 0;
try
{
a = b / c;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
try
{
b = a / c;
}
catch
{
return;
}
}
finally
{
Console.WriteLine("Finally.");
}
A."Attempted to divide by zero."
B."Attempted to divide by zero." "Finally."
Care din urmatoarele afirmatii este falsa?
A. Conversiile widening se efecuteaza intotdeauna fara pierdei de informatii
B. Atunci cand o valoare de un anumit tip este convertita la un alt tip de marime egala putem spune ca apare o conversie de tip widening
C. O conversie narrowing apare atunci cand o valoare de un anumit tip este convertita la un tip de marime mai mica
Daca doriti ca un membru din clasa de derivata sa aiba acelasi nume cu cel al unuia din clasa de baza , fara insa ca acesta sa participe la invocarea virtuala, atunci folositi in declaratia membrului clasei derivate:
A. Cuvantul cheie override
B. Cuvantul cheie virtual
C. Cuvantul cheie new
Ce efect va avea urmatoarea secventa de cod?
Private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawLine(new Pen(Color.Black, 5f), 10, 10 ,50, 50);
}
Private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawLine(new Pen(Color.Black, 5f), 10, 10 ,50, 50);
}
A. Desenarea unei linii care nu va fi vizibila
B. Desenarea unei linii de grosime 1 pixel
C. Desenarea unei lini foarte fina de grosime mai mica de 1 pixel, approximate prin antalising
{"name":"Mtp pdf", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Put your C# skills to the test with our comprehensive quiz designed for programmers at all levels. Challenge yourself or compete with others to see who knows the most about C# coding principles, error handling, and class structures.Features:60 insightful questionsMultiple choice formatCovering various aspects of C# programming","img":"https:/images/course6.png"}