Kezdőoldal » Számítástechnika » Programozás » Ez a c# kód miért írja a...

Ez a c# kód miért írja a result változóra,hogy "use of unassigned variable" mikor én inicializálom használat előtt?

Figyelt kérdés

[link]


Itt deklarálom:

KeyValuePair<int, bool>[] result;


Itt inicializálom:

Parallel.Invoke(() => result = IsPrime(input));


Itt írja a hibát:

foreach(KeyValuePair<int, bool> k in result)


dec. 22. 22:15
 1/4 A kérdező kommentje:

Nem értem miért volt rá szükség de ha null al inicializálom is a deklarációt akkor már jó.


De most más problémám van.

Miért lassabb a többszálú megoldás mint a sima. Teszteltem és lassabb.

dec. 22. 22:26
 2/4 A kérdező kommentje:

Már értem a parallel.invoke arra van hogy párhuzamosan futtasson egyszerre több metódust én meg csak egyet adok meg neki így aztán ennek semmi értelme ugyanis a metódusok tartalma továbbra is egy szálon fog futni csak azon a másik egy szálon amin a metódus fut.


E helyett a Parallel.for az ami a tényleges tartalmat több szálon futtatja így már brutális a teljesítmény különbség.


Megvilágosultam. Thx me!

dec. 22. 23:58
 3/4 anonim ***** válasza:

"Nem értem miért volt rá szükség de ha null al inicializálom is a deklarációt akkor már jó."


Mert a forddíó nem tudja ellenőrizni, hogy a megadott lambda bármikor is lefut-e... annyit néz, hogyaz adott metódusban van-e neki korábban érték adva biztosan. Persze az ember látja, hogy a Parallel.Invoke belül be fogja állítani a megadott lambda megívásával, de ezt nem tudja a fordító.

dec. 23. 14:41
Hasznos számodra ez a válasz?
 4/4 T. Feri ***** válasza:
A result mérete ismeretlen, tehát nincs neki hely allokálva. Amúgy meg a prim számok csak pozitívak lehetnek.
dec. 24. 15:36
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!