Zkouška 27.1.2012

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Zkouška 27.1.2012

Zkouška 27.1.2012

od cre8or » 27. 1. 2012 17:45

1) Jaky vystup da nasledujici kod:

Kód: Vybrat vše

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));
        }   
    }
2) Jakeho typu bude promenna G z predchoziho kodu?

3) Jaky placeholder typ lze dosadit do nasledujiciho kodu?

Kód: Vybrat vše

class X<T> where T : struct { }
Byly tam nejaky moznosti, obecne odpoved zni: jakykoli hodnotovy typ.

4) 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.

5) Ktera z nasledujicich moznosti by byla idealni doplnit misto ???? :

Kód: Vybrat vše

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.

6) Nejaka silenost s kovarianci a kontravarianci

7) Jaka je velikost promenne p v nasledujicim kodu?

Kód: Vybrat vše

Func<string, int> p = int.Parse;
Odpoved: zavisi to na platforme.

8 ) Jakeho typu je promenna x?

Kód: Vybrat vše

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.

9) Metody T1 a T2 se spusti ve dvou vlaknech, vyberte pravdiva tvrzeni:

Kód: Vybrat vše

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 :-)

Nahoru