Új hozzászólás Aktív témák
-
-
ArchElf
addikt
Ha a try-on kívül deklarálod de értéket nem adsz neki, akkor a try-catch-finally-ban mindenféleképp (a finally-ban) értéket kell kapjon, hogy ne dobjon fordítási hibát.
Osztály típusúaknál érdemes legalább null-al deklarálni:
Object o = null;
érték típusúaknál meg valami érékkel (ami neked biztos nem jó):
int i = -1;AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
ArchElf
addikt
Hogy ne adhatnál neki, épp ez a lényege a try-nak. pl:
FileStream fileStream = null;
try
{
fileStream = new FileStream(@"c:\file.txt", FileMode.Open);
// Fálj olvasása
}
catch (IOExceprion ioex)
{
// IO hiba feldolgozása (pl file nem létezik, nem megnyitható, stb)
}
catch (Exceprion ex)
{
// Egyéb hiba feldolgozása (akármi más hiba)
}
finally
{
if (fileStream != null)
fileStream.Close();
}AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
ArchElf
addikt
static void Main(string[] args)
{
int? n;
try
{
//n = 10;
n = int.Parse(Console.ReadLine());
}
catch
{
n = null;
// valami
}
if (n == null)
Console.WriteLine("Valami hiba történt.");
else
Console.WriteLine(n);
}int? -> nullable integer (olyan int, ami nem csak szám-értéket, de null-t is felvehet)
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
ArchElf
addikt
Persze, mert a fordító figyel arra, hogy mindenféleképp kapjon értéket.
Ugyanezért nem jó a következő funkció sem
int RosszFunkcio(bool b)
{
int n;
if (b)
{
n = 10;
}
return n;
}
Mivel az if mindkét ága nincs kidolgozva (else ág), így elképzelhető, hogy az n nem kap értéket (mert a függvényt false értékkel hívtuk meg).
Ezért sír a fordító, hogy:
Error 1 Use of unassigned local variable 'n'AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
ubid
őstag
Csináltam egy gyors példát, hogy hogyan kell használni a StringBuildert:
StringBuilder fuzz = new StringBuilder();
fuzz.Append("alma");
Console.WriteLine(fuzz);
Console.WriteLine("Adja meg egy terméket : ");
string t = Console.ReadLine();
fuzz.Append(t);
Console.WriteLine(fuzz);Ha utána akarod fűzni , akkor Append, ha elé akkor meg Insert-et hívsz.
Remélem segített.
[ Szerkesztve ]
-.-
-
ArchElf
addikt
-
ArchElf
addikt
Így működik:
string kosar= "Termékekek: ";
int valasztas;
string rl;
while((rl = Console.ReadLine())!="")
{
if (!inint.TryParse(rl, out valasztas)) continue;
switch (valasztas)
{
case 1: kosar += "Egér, ";
break;
case 2: kosar += "Hangfal, ";
break;
case 3: kosar += "Billentyűzet, ";
break;
case 4: kosar += "Monitor, ";
break;
case else:
break;
}
}Az előző azért nem működik, mert a string kosar= "Termékekek: "; mindig újra inicializálja a kosar változót. Amúgy mivel a kód többi része nem is látható, nem is tudom elképzelni, hogy volt többször lefuttatható a switch rész.
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
nagyúr
Á, dehogy. Ezt eleve nem túlterhelésnek hívják, másfelől nem szükséges feltalálni a spanyol viaszt. A tryparse nem egy nagy dolog, tessék használni.
A te megoldásod teljesen feleslegesen bonyolítja túl a kódot. Ha ezt megszokod, esetleg egy nagyobb projektnél átláthatatlan lesz a sok hackeléstől az egész.
-
-
-
martonx
veterán
-
martonx
veterán
hehehe, akkor nagyot fogsz nézni, amikor megkapod a fizetési értesítést.
Pont ez a vicc a felhőben, hogy szinte mindegy, hogy futtatod, vagy leállítod az alkalmazásodat. A helyet foglalja, sql szervert foglalja.
Gondolom még mostanában regisztráltál, és ha jól rémlik 90 napig amúgy is ingyenes.
Ha nincs sok pénzed, a helyedben nagyon odafigyelnék az Azure számlámra, mert hipp-hopp röpülnek majd az ezresek a kb. semmire (Amazon WS-es tapasztalat, ami ránézésre még olcsóbb is, mint az Azure).Én kérek elnézést!
-
amargo
addikt
Hasonlítsd össze a két lista elem tartalmát, LINQ Except. Nyilván csak a változást kell elmentened.
Kihagyok alapvető részleteket, inkább csak a problémára adok egy megoldás vázlatot.
private void setInDB()
{
var query = (from q in DB.Buszs select q).ToList();
var insertKeys = Buszs.Select(s => s.Jarat).Except(query.Select(s => s.Jarat)).Select(s => new BuszModel { Jarat = s });
var removeKeys = query.Select(s => s.Jarat).Except(Buszs .Select(s => s.Jarat ));
foreach (var rKey in removeKeys)
{
var jarat = DB.Buszs.Where(w => w.Jarat.Equals(rKey)).FirstOrDefault();
DB.Buszs.DeleteOnSubmit(jarat);
}
foreach (var iKey in insertKeys)
{
DB.Buszs.InsertOnSubmit(iKey);
}
DB.SubmitChanges();
Messenger.Default.Send<GenericMessage<Table<JaratModel>>>(new GenericMessage<Table<JaratModel>>(DB.Buszs));
}Továbbá, nem ártana csak akkor leszedni az adatokat ha változás van.
[ Szerkesztve ]
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Mennyire állnak rendelkezésedre változás követő adatok, ha publikus helyről szeded nincs a kezedbe a kiszolgáló szerver, nincs jól beállítva, akkor csak sakkozni lehet. Bár érdekelne hátha van valami más megoldás, mert engem is érdekel.
Itt gyakorlatilag ugyan azt írtad le, mint előtte és ugyan olyan rossz is a megközelítés.
Elmondom nálam, hogy működik egy ilyen többszöri hívás esetén. Elsőnek nyilván feltöltöd az adatbázis itt nincs semmi extra, kb erre való a kódod.
Majd második hívás esetén megnézed, egy timestamp, akármi alapján hogy van-e változás azaz érdemes-e letölteni - és mit -.
Nyilván itt megfontolandó, hogy a UI-nak átadsz-e már cache adatot vagy megvárod, amíg minden a kezedben van. Közben háttérben a változást betöltöd a cache/DB-be.Te esetedbe az lehet a megoldás, hogy nem ismered a változást tartalmát ezért a kódban kell megnézned, erre adtam példád. Nyilván a cache és dynamic data-t össze kell hasonlítanod, de ezt még mindig nem teszed meg, csak letöltöd és folyton beleakarod tölteni a DB-be.
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
drkbl
őstag
Miért kattint mégegyszer a feltöltőgombra? Mert változtak az adatok. Hogy működjön? Automatikusan? Akkor a gombnyomásra elsőnek törölje az adott busz adatait, aztán vigye fel újra. Manuálisan? Ha van az adott busznak rekordja, akkor kérdezze meg, törölni akarja-e a régi adatokat. Brutálisan? Miután kattintott és lefutott a rutin, tiltsa le a gombot
Továbbá lehet kezdeti állapot (ha külön gomb van a törlésre):
Gomb engedélyezve=van adatbázis ÉS nincs benne adott busz rekord -
martonx
veterán
Én a helyedben magamra szednék egy minimális adatbázis tudást (vagy LINQtoSQL tudást), aztán DB oldalon kezelném az egész problémát. Mivel SQL CE, így ott tárolt eljárás nem játszik, mint lehetőség.
WP7-en SQL CE-nél rendesebb DB kezelőt nem lehet használni? Mondjuk SQLite-ot? Abban lenne tárolt eljárás lehetőség is.Én kérek elnézést!
-
amargo
addikt
"teszem azt megnézem mondjuk a 29-es számú busz menetrendjét. okés. Ezután megnézem az 1-es villamos menetrendjét, majd közvetlen ezután a 29-es buszét mégegyszer."
Ha már egyszer lent van az adat, akkor miért próbálod megint letölteni?
A gondolkodás után jó helyen keresgélsz és a hiba okát is leírtad, de nem látom értelmét, hogy minek runtime akarod letölteni az adatokat, ha utána soha nem törődsz a karbantartásával, akkor egyszerűen csak pakold bele az alkalmazásba és publikáld ki úgy.
De a menettrend azért változni szokott..
Szerk:
Elsőnek gondold végig tüzetesen, hogy mit szeretnél. Az implementálás könnyebb feladat, nyilván kell hozzá a rutin, de egy alapjaiban véve rossz tervezést nehéz foltozgatni/lekódolni.
Kérdezd meg azt is, hogy minek akarsz offline adattároláshoz leszipkázni adatokat, ha már eleve ott is tárolhatnád. Ha viszont az a célod, hogy egyszer képes legyen karbantartani magát, akkor ezt komolyabban kell végig gondolni. Továbbá mintákat is érdemes alkalmazni. Mit ahogy főzni sem úgy szoktunk, hogy mindent egybe öntünk aztán lesz, ami lesz
Mert az sokszor az eszi meg, aki főzte..[ Szerkesztve ]
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Ha offline a program életciklusa során soha nem változó adatokról van szó, akkor minek vesződsz azzal, hogy runtime töltögeted le?
Az adatok memóriában tartását érdemes meggondolni, nem szerencsés erre támaszkodni. Én maradnék annál, hogy valamilyen adatbázisba tárold le. Akár fájlba - nyilván ez nem feltétlen jó megközelítés - vagy valamilyen előre feltöltött adatbázis fájlt csatolsz fel, majd onnan szeded ki az adatokat.Szerk:
"SQL-CE adatbázist viseli el a WP7 tudtommal, ezért gondoltam azt, hogy abban egyszerűen letárolom az adatokat, majd a felületen megjelenítem, és ámen."
Akkor miért nem ezt csináltad?
A kérdést nem gúnyolódásól teszem fel, hanem tanítási szándékkal. Annyi, hogy nem runtime kell az adatokat feltölteni, hanem már egy olyan sdf-et - akár - adsz hozzá, ami feltöltött. Olvashatsz itt is róla.[ Szerkesztve ]
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
martonx
veterán
Rosszul hívod meg a Details függvényt. Bár a sok - sok felesleges programrész, meg képernyő mentés közül csak pont ezt a lényeget nem láttatod.
Így mikor a motor parse-olja a kapott POST-ot, mivel abban benne van az Id-is, így azt a mezőt is kitölti az entitásban.
Ezt könnyen nyomon tudod követni böngészpben F12 Network fül, bármilyen böngészőben (na jó IE8 és ennél régebbieknél nincs Network fül). Nézd meg, hogy a böngésző miket post-ol a szervernek.
Úgyhogy valahol a view-knál, partialview-knál vizsgálódnék, mert ott lesz a hiba.Én kérek elnézést!
-
Lacces
őstag
Évekkel ezelőtt a RenderAction függvénnyel volt nekem is valami baj
Ezt nézd át, hogy hogyan történik egy partial view, igaz angol, de kód szinten látod, egyszerű
Illetve mivel látok itt ID átvitelt is az előző hszeknél, akkor talán még ez is segíthet:
RenderAction id-val -
ubid
őstag
Egyébként Render Partial-lal elszáll ezzel a hibaüzenettel : ( első változatát tudom csak használni, mert IEnumerable-ben vagyok és nem elérhető így a Model-em )
The model item passed into the dictionary is of type 'System.Collections.Generic.List`1[BorsodBiz.Models.Tourism]', but this dictionary requires a model item of type 'BorsodBiz.Models.Tourism'.
-.-
-
martonx
veterán
A hibaüzenet alapján, te egy listát adtál át modellként, de egy darab entitást kellene átadnod.
Egy fórumban nem lehet megfelelően komplex problémákra rendes választ adni.
Ameddig az a feladat, hogy pistike ki akarja választani 1-10-ig a páros számokat, addig oké a segítség. Amikor már ennél komplettebb, akkor elég nehéz a segítség. És nem azért mert nincs meg a tudásunk.Én kérek elnézést!
-
ubid
őstag
Megválaszolom magamnak : ) Aztán aki tudja, az helyeseljen, aki nem tudta az meg mostmár tudja : )
Bár jónak látszik, de lehet van szebb is : )
szóval egy foreach ciklusban végigmenve :
CloudBlockBlob block = new CloudBlockBlob(blobItem.Uri.ToString());
int filename = int.Parse(block.Name);
és ebbe benne van a filename : )
Helyes ez így ?
-.-
-
Márpedig a Management Studio-ban meg kell találnod. Vagy az oszlopot szerkesztve, vagy design nézetben megnyitva a táblát az oszlopra ráállva ott kell lennie, hogy "identity column" vagy hasonló. 2008-ban ezt a lent megjelenő ablakban tudtad megadni, szerintem most is ott tudod.
-
martonx
veterán
Itt PHP-ra van is példa program, de mivel webservice gondolom bármiből könnyedén meg lehet hívni.
[ Szerkesztve ]
Én kérek elnézést!
-
-
Ú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!
- Senua's Saga: Hellblade II - Íme a végleges gépigény
- Milyen belső merevlemezt vegyek?
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- Disney+
- iPhone topik
- Háztartási gépek
- Honor Magic V2 - origami
- A fociról könnyedén, egy baráti társaságban
- A Play Áruházban is fellelhető a legjobb Samsung segédalkalmazás
- Vodafone mobilszolgáltatások
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest