Ú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!
- PlayStation 5
- 5.1, 7.1 és gamer fejhallgatók
- HiFi műszaki szemmel - sztereó hangrendszerek
- Mobil flották
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- Konzolokról KULTURÁLT módon
- Microsoft Excel topic
- Apple asztali gépek
- Huawei Watch Fit 3 - zöldalma
- Bittorrent topik
- További aktív témák...
- ÁFA-s Munka/Gamer PC ÁFA-s számlával, garanciával 12400F, RTX 3070, 32GB DDR5 RAM
- Eladó kézisúlyzók
- Asus TUF FX705GM 17.3" FHD IPS i7-8750H GTX 1060 16GB 500GB NVMe magyar vbill gar
- HP Pavilion Plus 14-ey0155ng Ryzen 5-7540 / 16GB / 512GB FHD+
- Szuper áron eladó 2az1-ben HP Pavilion x360 /14" i5-1335U, 16GB ram, 512 GB SSD, FHD, IPS,
- HIBÁTLAN iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3306
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- Eredeti DELL 240W töltők (LA240PM160)
- Lenovo ThinkCentre M920q/ Dell OptiPlex 3070/ Hp EliteDesk 800 G4-G5 mini, micro PC-Számla/garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest