Új hozzászólás Aktív témák
-
joysefke
veterán
válasz
Flashback
#9445
üzenetére
Ezt Databindinggal és ObservableCollectionnel szokás megoldani, illetve amikor a user a GUI-n a lista aljára ér, akkor ott keletkezhet egy event amire feliratkozhat a kódod, arra reakcióként pedig betöltheted a következő oldalt (hozzáadod az ObservableCollection-höz, a databinding pedig onnantól elintézi a többit) mondjuk Xamarin.forms-ban ez lenne.
Gondolom oka van hogy nálad így lett megoldva...
-
dqdb
nagyúr
válasz
Flashback
#9447
üzenetére
A struct ugyanúgy bővíthető metódusokkal, ez nem C, C#-ban a struct mást jelent, mint C-ben. A fenti linkemen a mikor használj structot class helyett listában négyből három feltételt nem teljesít a kódod:
* It logically represents a single value, similar to primitive types (int, double, etc.).
* It has an instance size under 16 bytes.
* It is immutable. -
joysefke
veterán
válasz
Flashback
#9437
üzenetére
A többiek jól mondják, a ref kulcsszó kell neked, de már a kérdésből gyanús, hogy valamit nem úgy csinálsz ahogy illene:
Ha átadsz egy inicializált List-et paraméterként egy metódusnak, akkor ez esetek nagy részében ezt azért kéne tegyed, hogy a metódus olvassa a List-et, esetleg módosítsa a tartalmát (feltöltse vagy hozzáadjon) és nem azért, hogy a kapott referenciát megváltoztasd és ezáltal az eredeti List adatszerkezetet eldobd. Ha az eredeti List-re nem mutat másik referencia akkor az GC-zve lesz. Mi értelme volt akkor elötte inicializálni?
Ha új listát akarsz létrehozni, akkor érdemesebb lenne azt a metóduson belül megtenni és annak visszatérési értékeként visszaadni. Ebben az esetben viszont nem illik semmilyen bemenő paramétert megváltoztatni.
-
Karma
félisten
válasz
Flashback
#5208
üzenetére
Adott a következő statikus osztály: [link]. Az ElementValue érdekes, de ott hagytam példaként két másik metódust, ami double-t vagy decimalt parse-ol ki az értékből.
A parsered így módosulhat ezek felhasználásával:
DPCO = item.Element("Data").ElementValue("PCO"),
DCaption = item.Element("Data").ElementValue("Caption"),
SConnect = item.Element("Data").ElementValue("Connection"),És ekkor kezelted azt, ha a Data vagy a PCO/Caption/Connection null.
-
Alexios
veterán
válasz
Flashback
#5208
üzenetére
lényege az, hogy megfogod tudni hivni xelementen is, mintha "saját" metódusa lenne. Pontosabban olyan típushoz tudod meghívni ami elé a "this" szót adod a metódus paraméterlistájában
trisztani94: helyzettől függően null coalescing pl, vagy akár extension method
Én ahol lehet null coalescinget használok mert sokat tud röviditeni a kódon, főleg ha több null ellenőrzés is lenne az if-en belül, az itt csak annyi hogy: xyz = x??y??z pl. -
Alexios
veterán
válasz
Flashback
#5199
üzenetére
Vagy ott van még a "null coalescing" operátor(nemtudom hogy van magyarul
) azaz pl:valami = (string)b.Element("valami") ?? String.Empty
Tehát ha a (string)b.Element("valami") null, akkor itt egy üres stringet állit be pl neki, ha meg nem null, akkor meg azt ami az értéke lenne -
trisztan94
őstag
válasz
Flashback
#5199
üzenetére
Ez most egy nagyon általános példa lesz, de remélem megérthető.
// A szam1 változó értéke null lesz, mivel nincs értéke.
int szam1;
int szam2 = 3;
// Itt mivel egy null értéket akarunk felhasználni, kapsz egy nullReferenceException-t, ami azt jelenti,
// hogy null-ra hivatkoztál, tehát a semmire hivatkoztál.
Console.WriteLine(string.Format("A két szám összege: {0}", szam1 + szam2));Ezt ki lehet védeni egy try-catch-el:
try
{
int osszeg = szam1 + szam2;
}
catch
{
// Elkapjuk a kivételt, lekezeljük a hibát, hibaüzenetet írunk ki.
MessageBox.Show("Kérem adjon értéket az első számnak!");
}Vagy ahogy martonx írta, lehet null-ra csekkolni egy if-el:
if(szam1 != null)
{
// Csinálunk valamit.
}
else
{
MessageBox.Show("Kérem adjon értéket az első számnak!");
} -
válasz
Flashback
#5162
üzenetére
Miért nem valami data típust töltesz fel "adatbázis" jellegű adattal, miért kell tömböt használni?
Vagy használj List<string[]>-et és a header beolvasásánál már tudod, mire kell mindig inicializálni a string[]-t. így legalább nem kell kétszer beolvasni az egész fájlt...
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Hosszú premier előzetest kapott az Arknights: Endfield
- CURVE - "All your cards in one." Minden bankkártyád egyben.
- Vezeték nélküli fülhallgatók
- Milyen külső akkumulátort mobileszközökhöz?
- Kormányok / autós szimulátorok topikja
- Facebook és Messenger
- Meghozta a régóta várt asztali Ryzen APU-kat az AMD
- Spórolós topik
- Bittorrent topik
- E-roller topik
- További aktív témák...
- 238 - Lenovo Legion Pro 7 (16IRX8) - Intel Core i9-13900HX, RTX 4070
- 271 - Lenovo Yoga Pro 9 (16IAH10) - Intel Core U9 285H, RTX 5070
- Apple iPhone 14 Plus 128GB sárga használt, karcmentes 97% akku 6 hónap garancia
- ÚJ LENOVO Legion 5 PRO - 16"WQXGA 240Hz - i9-14900HX - 32GB - 1TB - Win11 - RTX 5070 - 3 év gar -HUN
- Új könyv: Harrari: Sapiens Rajzolt történelem
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Ha sokat C-ztél akkor itt át kell állnod kicsit más nézőpontra.
Én ahol lehet null coalescinget használok mert sokat tud röviditeni a kódon, főleg ha több null ellenőrzés is lenne az if-en belül, az itt csak annyi hogy: xyz = x??y??z pl.

) azaz pl: