Jaky vystup da nasledujici kod:
class Prg { private static Func<double, Func<double, double>> Add(int c) { return x => y => x + y++ + (c *= 2); }
public static void Main(string[] args) { int a = 1; int b = 100; var F = Add(2); var G = F(a); G(b); Console.WriteLine(G(b)); } }Jakeho typu bude promenna G z predchoziho kodu?
Jaky placeholder typ lze dosadit do nasledujiciho kodu?
class X<T> where T : struct { }
Byly tam nejaky moznosti, obecne odpoved zni: jakykoli hodnotovy typ.
Assembly a.exe psana v managed C# a prelozena jako AnyCPU, assembly b.dll psana v managed C# a prelozena jako x86, assembly c.dll psana v C++. Exe se odkazuje na b.dll, ktere se odkazuje pres DllImport na c.dll. Jak se musi prelozit c.dll, aby to slo spustit pod x64?
Odpoved: AnyCPU nebo x64.Ktera z nasledujicich moznosti by byla idealni doplnit misto ???? :
class Profile { public static Profile CreateProfile(string name) { Profile profile = new Profile(); StreamReader reader; try { reader = new StreamReader(name + ".profile"); ... } catch (IOException ex) { Debug.Print("..."); ???????? } return profile; } }
a) throw new ArgumentException("...")
b) throw new ArgumentException("...",ex)
c) throw new IOException()
d) throw new IOException("...")
e) throw new IOException("...",ex)
f) throw ex;
g) throw;
Dal jsem (b), ale opravdu nevim.
Nejaka silenost s kovarianci a kontravarianci
Jaka je velikost promenne p v nasledujicim kodu?
Func<string, int> p = int.Parse;
Odpoved: zavisi to na platforme.
8 ) Jakeho typu je promenna x?
class Prg {
private static T Value<T>(T a, T b) where T : IComparable<T> {
return a.CompareTo(b) < 0 ? a : b;
}
public static void Main(string[] args) {
var x = Value(5f, 6f);
}
}
Odpoved: float.
Metody T1 a T2 se spusti ve dvou vlaknech, vyberte pravdiva tvrzeni:
class Prg { private volatile int a, c; private int b;
public void T1() { a = 1; b = 2; c = 3; } public void T2() { b = -1; Console.WriteLine(b); } }
a) V T1 se do a vzdy zapise driv nez do c
b) V T1 se do b vzdy zapise driv nez do c
c) V T1 se do b vzdy zapise pozdeji nez do a
d) T2 muze vypsat -1
e) T2 muze vypsat 2
f) T2 muze vypsat 0
Pak jeste nejaky dalsi moznosti, ale ty si nepamatuju. Vybral jsem a,b,d,e.
Vsechno je samozrejme bez zaruky, obvzlast odpovedi :-)