- Azonnali mobilos kérdések órája
- Magyarországon is kapható a Moto G85 5G
- Apple Watch
- Fotók, videók mobillal
- iPhone topik
- A hagyományos (nem okos-) telefonok jelene és jövője
- Honor Magic6 Pro - kör közepén számok
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- Motorola Edge 50 Pro - több Moto-erő kéne bele
- Motorola Edge 50 Neo - az egyensúly gyengesége
Új hozzászólás Aktív témák
-
Alexios
veterán
pedig ahol list<int> van ott hashset<int>-nek is mennie kéne, ugyanaz a namespace
Amúgy lista.distinct() és kivannak szűrve a duplikált elemekIlletve olvashatóbb a kódod ha egy megametódus helyett, amiket ráadásul regionnal szedsz szét, amiket most regionokbe raktál kirakod egy külön metódusba és azokat hívod meg.(főleg hogy lényegében mind ugyanazt csinálja, és 3x kell leírnod mikor egy metódusba elég lenne 1x és azt 3x meghívni)
-
Alexios
veterán
válasz
MineFox54 #7400 üzenetére
Ahogy felettem is írták, ha a dictionary elemére akarsz hivatkozni mert a cntk az(nem "változó konstruktor" akármire is gondoltál ezalatt
) akkor [entry.Value.Name]. Viszont jótanács: használj sokkal kifejezőbb neveket, elbírja azt a plusz bájt adatot a gép, cserébe sokkal olvashatóbb lesz a kód.
-
Alexios
veterán
válasz
semij9699 #7382 üzenetére
mármint mi nem megy? a 3-al való osztás vizsgálata?
int a = int.Parse(kezdoTxt.Text);
int b = int.Parse(vegTxt.Text);
for (int cv = a; cv <= b; cv++){
if(cv%3 == 0){
Console.WriteLine(cv);
}
}szerk: upsz, most látom a darabszáma kell, nem kiiratni, de ebből már mennie kéne
-
Alexios
veterán
válasz
semij9699 #7376 üzenetére
C#-hoz ennek viszonylag kevés köze van, akkor már inkább a keretrendszered - gondolom winforms vagy wpf. Legegyszerűbb megoldás ha az eseménykezelőjükben(click esemény) megváltoztatod a másik gomb enabled-jét az ellenkezőjére. Nagyon egyszerűen pl.
Button.IsEnabled = !Button.IsEnabled
,vagy rakhatsz egy elágazást is hogyif(Button.IsEnabled == false)
{
Button.IsEnabled = true;
} else
{
Button.IsEnabled = false;
}Aztán persze lehetnek erre szebb megoldások, de gondolom neked most inkább ilyesmi kell
-
Alexios
veterán
Mivel alapvetően a webforms nem az mvc alapja, ezért nem tudsz onnan szintet lépni, mert tök más a kettő, a webforms megértésével nem kerülsz közelebb a másikhoz. Én manapság biztos nem szopatnám magam webforms-al hacsak nem kényszerítenek rá.
Ha már szintlépés akkor (szerintem) érdemesebb az mvc 5-el foglalkozni, majd utána a core-al
-
Alexios
veterán
-
Alexios
veterán
Neked sincs igazad
Ugyanis ha statikusan hozol létre egy változót akkor nem lesz olyan hogy Alma.x és Korte.x csak Fruit.x-ként tudod elérni, így pedig máris nem lehet azzal összezavarni, hogy ha az egyikben változtattad miért változott a másikban is.
Illetve a kérdésedhez:
A statikus változók nagyon nem is helyezkedhetnének a managed heap-en kívül máshol, de a lokális változók is ott helyezkednek el. -
Alexios
veterán
válasz
sirszevenap #7202 üzenetére
Nem tudom, hogy most miként oldottad meg, de most hirtelen ami eszembejut, hogy csinálsz egy eseménykezelőt a "fő" toggleswitchedre ami ki/be kapcsolja az összeset, illetve egy másikat a többinek, ami csak az adott controlt kapcsolgatja, plusz a főt
(#7203) Heavyrain Hol akadtál el? Gombra beolvasáshoz openfiledialog, azzal megkapod a fájl elérési útját, beolvasod a fájlt, írsz bele, amit akarsz. Miután megvan a fájl, textboxból beolvasásnál ugyanúgy hozzá tudsz írni akármit, stb. Megnyitásnál hogy megnézd a ### részt, gondolom vagy az első vagy az utolsó ### kell, fájlt megtudod nyitni szintén openfiledialog-al, aztán mondjuk regex-el megkeresed.
-
Alexios
veterán
A tömböt még a beolvasás előtt hozd létre, mivel max 10db-ot olvashatsz be ezért egy 10 elemű tömb tök jó neked(vagy használhatnál listát is, de gondolom itt tömböt kell)
ez esetben:int[] tomb = new int[10];
Ezzel létrehoztál egy új, 10 elemből álló tömböt, a mostani kódodnál egy egy elemű tömböt hozol létre, amiben az egyetlen elem a szam változó tartalma.
Minden sikeres beolvasásnál el tudod menteni ebbe a tömbbe az elemeket, és onnantól tudsz keresni rajta, meg amit akarsz. -
Alexios
veterán
Nyílván a var k=0 esetben doublet szeretnél akkor nem ezt használod, vagy eletszerubb esetben mondjuk mint ososztaly/interfész szeretnél rá hivatkozni de ezek azért nem a kifejezett hiba esetek, bár az overloaded esetben nem értelek hiszen vissza teresi értékkel nem lehet overloadolni, ha meg rossz paramétert adsz meg akkor nem a neked rosszabbat fogja adni, hanem azt amit meghivtal.
Én pl mindig vart használok, azokkal a kivetelekkel amikor vagy nem lenne egyértelmű ezek alapján mi az, vagy tényleg csak valamelyik interfész részét akarom mondjuk láttatni.
-
Alexios
veterán
válasz
alratar #7165 üzenetére
nincs semmi ok a kerülésére, illetve sok helyzetben, pl. linq meg hasonló esetekben egyszerűbb is mint kitalálni mi lesz az eredmény.
Igazából semmi varázslat nincs benne, intellisense behelyettesíti helyetted kb, ha ráviszed a kurzorod a var szóra is kiírja milyen típus van mögötte.
-
Alexios
veterán
válasz
sirszevenap #7139 üzenetére
Akkor annak az eseménykezelőjére, amihez szeretnéd
Rég foglalkoztam már ezzel, de emlékeim szerint még a textblocknak is van tapped eseménye, de ettől még szerintem jobban járnál valami olyannal ami eleve arra van kitalálva hogy megnyomják, egy sima button-t is át lehet dizájnolni akár, hogy úgy nézzen ki mint egy szöveg
-
Alexios
veterán
válasz
sirszevenap #7137 üzenetére
this.Frame.Navigate(typeof(SecondPage))
Ezt rakd be a gombod eseménykezelőjébe
-
Alexios
veterán
válasz
sirszevenap #7103 üzenetére
<TextBox PlaceholderText="username"/>
-
Alexios
veterán
Mert ha Add(i,j)-ként akarod hozzáadni, akkor két( a példából kiindulva gondolom int) paramétert akarsz átadni, ahelyett, hogy egy kétdimenziós tömböt adnál - ami már más overload lenne. Szóval ha mindenképp így akarod tárolni az elemeket akkor pl. lista.Add(new int[i,j])
-
Alexios
veterán
válasz
turbobusa #6714 üzenetére
A végén nem azt mondod, hogy a változó értéke legyen 0 és 1, hanem azt mondod, hogy ide helyettesítse be a paramétert(az 1. és 2. paramétert) amit megadsz a szöveg után.
Mivel stringen belül van, így eleve nem is tudnál ott értéket adni a változónak, az egész {0}..{n} lényegében csak egy placeholder a stringen belül, ahol jelzed, hogy oda akarod beilleszteni majd a változódat. -
Alexios
veterán
Azért csak az utolsó marad mert itt:
sorok=sor.Split(' ').ToList();
Mindig felülírod a sorok listát egy új listával.
A split metódus egy tömböt hoz létre ami a felosztás utáni stringeket tartalmazza. Ebből a ToList-el csinálsz egy string típusú listát, lényegében a tömböt alakítod át listává. A sorok=sor.Split kóddal nem hozzá adod a listához új értékként, hanem azt mondod hogy a sorok erre a listára mutasson. Vagy csinálsz egy listát ami List<string> típust fogad és abba rakod bele a .Add metódussal, vagy szebb megoldásként csinálhatsz pl. egy osztályt amibe beolvasod az árfolyamokat és ezeket rakod a listába. -
Alexios
veterán
Húha, mennyire új neked a programozás?
Elég egyértelműen leírja amúgy a hibát, a metódus második paramétere más típusú mint amit vár.
Nullreference-t meg korábban valószínűleg azért kapsz mert String str3 = key.GetValue("CurrentVersion")
itt keresed a CurrentVersion kulcsot, de valószínűleg nem talál ilyet, azaz nullal tér vissza, amire meghívod a tostring metódust, de mivel amin meghívod null így exception-t fog dobni -
Alexios
veterán
Megnéztem a xaml-t a desktop verzióban ha azt próbáltad, ennyi van benne:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
</Grid>Szóval mint látod ez egy üres grid, ezért látsz egy üres fekete képernyőt.
A windows phone változat alatt pedig az a baja hogy nem mainpage.xaml a fájl neve hanem basicpage1, így azt nem is találja(nem is tudom lefordul-e egyáltalán így)Universal app-nál(amennyire én tudom, csak fél szemmel nézegettem utána eddig) mind a két alkalmazásnak ugyanannak a fájlnévnek(vagyis osztálynak de most ez mindegy) kell lennie a két projektben, ha megnézed a shard projectben az app.xaml.cs-ben látod hogy:
rootFrame.Navigate(typeof(MainPage)
Azaz MainPage típusú oldalra navigál, ha meg ez nincs a wp projekt-nél, csak basicpage típus akkor nem tud oda navigálni.Szóval vagy töröld ki a BasicPage1.xaml-t és illeszd be MainPage.xaml néven, ekkor automatikusan MainPage nevű osztályokat fog létrehozni, vagy a xaml fájl tetején x:Class="App1.MainPage" legyen illetve a xaml.cs-ben is írd át az osztály nevét meg a konstruktor nevét.
-
Alexios
veterán
A stringeket nem lehet megváltoztatni, így nem fogod tudni kicserélni egyik karakterét sem, max új stringet hozhatsz létre, vagy stringbuilder-t használsz.
pl:
string szov1 = "szoveg";
string fv()
{
string szov2 = szov1[1];
return szov2;
}Mondjuk a kódoddal több gond is van, pl. minek returnölöd a szov1 változót mikor amúgy sem módosítasz rajta semmit?
Char-t használva is megoldódik amúgy, akkor pedig:string szov1 = "szoveg";
char fv()
{
char szov2 = szov1[1];
return szov2;
}Nem teljesen világos milyen rengeteg vesszőre gondoltál számomra a char esetében.
-
Alexios
veterán
válasz
trisztan94 #5557 üzenetére
canvas.zindex
-
-
Alexios
veterán
válasz
trisztan94 #5527 üzenetére
-
Alexios
veterán
válasz
zsambek #5503 üzenetére
Bár annyira nem néztem most át a kódod, és nem tudom mennyire ismered a debug-olási lehetőségeket, de azért jóljöhet, ha breakpointokat helyezel el ott ahol nem azt csinálja a programod amit szeretnél, nagyobb eséllyel fogsz rájönni arra, hogy mi a baj magadtól, hiszen látod a változók aktuális értékeit pl.
Bár hirtelen elnézve szerintem az a kód ebben a formában jó.
Viszont ilyet:
Convert.ToString(szo1)
tökfölösleges csinálni, hiszen a szo1 eleve egy string, a foreachnél látszik a deklaráció -
Alexios
veterán
válasz
trisztan94 #5483 üzenetére
Ott a forrása, akár hozzáadhatsz még egy gombot
Vagy esetleg egy popup-ba raksz valamit, és ugyanúgy fog kinézni szerintem, abba meg annyi gombot raksz amennyit szeretnél.
-
Alexios
veterán
válasz
trisztan94 #5452 üzenetére
tempLista = new List<Tipus>(eredetiLista);
Lehet van erre valami más megoldás is, de így tuti új példányt hoz létre -
Alexios
veterán
válasz
trisztan94 #5448 üzenetére
ez a megoldás azért se lesz jó, mert ha menet közben a user elengedi a gombot, majd onnan folytatja, akkor azt a helyet fogja kiindulópontnak venni. Nem tudom, hogy a completed eventedbe mi van, de pl. ha csak a translatetransform-al állítod ilyenkor a pozícióját, akkor egyszerűen azt nullázd le, és visszaugrik a helyére.
Megmondani amúgy úgy tudod, hogy a translatetransformját beállítod arra, vagy canvas-t használsz, és ott ugye a set meg top property-kkel beállítod.
-
Alexios
veterán
Persze, lehet a többi cuccnál is eltávolította csak a commandokat, nem is komolyan mondtam azért is volt a smiley
Viszont ami érdekelne, mert ebbe igazából mindig belezavarodok, hogy pl. miért jobb itt most neki Struct-ot használnia Class helyett? Az oké, hogy a struct az értéktípus, a class meg referencia, de mivel a struct-on belül stringet is tárol, ami ugye referenciatípus, így nem problémás?
-
Alexios
veterán
válasz
trisztan94 #5429 üzenetére
mondjuk ha eventeket használsz a code behindban - márpedig ahogy látom a manipulation dolgokat úgy van, - akkor annyira nincs szeparálva a logika meg a view mvvm-el
-
Alexios
veterán
válasz
Alexios #5425 üzenetére
illetve ha jól emlékszem minden frameworkelementnek van egy Tag property-je is, az is kiegészítő adat megadására van
Ja erre meg:
Én itt arra gondoltam, hogy csinálok egy globális Word típusú változót, amiben benne lesz a behúzott kártya List<Word> értéke. Ez hülyeség?Szerintem az, kicsit overkillnek hangzik, ha nagyon már valami ilyesmit akarsz akkor is bőven elég lenne csak az id-ket eltárolni, és összehasonlítani, mert ha jólértem az ugyanaz mindkettőnél.
-
Alexios
veterán
válasz
trisztan94 #5424 üzenetére
dependencyproperty az amire te gondolsz html data tagként. Csinálsz egy custom controlt, ami erre épül, adsz neki egy dependency property-t, és annak azt adsz meg amit akarsz
-
Alexios
veterán
válasz
haromegesz14 #5301 üzenetére
return tombneve;
-
Alexios
veterán
válasz
trisztan94 #5296 üzenetére
a button content vagy child/ren elemei közt(hirtelen nem emlékszem melyik van neki) ott lesz a textblock.
-
Alexios
veterán
válasz
haromegesz14 #5290 üzenetére
és mi nem megy akkor pontosan?
Esetleg ha egy kódrészletet beraknál könnyebben tudnánk segíteni
-
Alexios
veterán
válasz
haromegesz14 #5287 üzenetére
pl. ciklussal mész végig rajta. for-nál ugye eleve ott van a ciklusváltozó amit nézhetsz, while-nál illetve foreachnél pedig egy saját változót növelsz mindig egyel.
-
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 -
Alexios
veterán
válasz
trisztan94 #5143 üzenetére
pl. MVVM pattern használatával, kb adja magát wp alatt, amúgyis lényegében a bindingra van kitalálva az egész
-
Alexios
veterán
válasz
trisztan94 #5128 üzenetére
Ezt leginkább sehogy
-
Alexios
veterán
válasz
trisztan94 #5126 üzenetére
Hát arányokkal értelmesebbnek tűnik dolgozni, mint bebetonozott margókkal szerintem, bár ez a láthatatlan gombos kép elé rakott cucc sem semmi már
-
Alexios
veterán
válasz
trisztan94 #5124 üzenetére
És megcsinálod két külön képarányra fix margókkal?
Illetve a 8.1 még több támogatott képarányt fog tudtommal behozni
-
Alexios
veterán
válasz
trisztan94 #5122 üzenetére
hát passz, emulátorban van minden képarány, ott tudod próbálgatni, de a dizájnerrel nem tudom mivan. Bár őszintén szólva nem értem mit értesz az alatt, hogy ott rakod össze a kinézetet
-
Alexios
veterán
válasz
trisztan94 #5120 üzenetére
hátteret úgy hogy button.Background = valamilyen brush, ha képre akarod, akkor new ImageBrush(new BitmapImage(new Uri(...))
-
Alexios
veterán
válasz
trisztan94 #5112 üzenetére
Hát meglehet csinálni, de nem tűnik nagyon értelmes dolognak
-
Alexios
veterán
Tipuskonverzióra melyik a jobb, az as vagy a (tipus)? Most utánanéztem, és az as valamivel gyorsabb, de ugye ezt értéktípusra nem lehet használni(meg kb 3% volt az eltérés), van erre valamilyen ajánlás, hogy melyiket használjuk inkább?
-
Alexios
veterán
Lenne egy elég hát lehet hülye kérdésem, de nem igazán csináltam még custom controlt win8 alatt.
[link]
Ez alapján próbálkozom, addig megvan, hogy csináltam egy templated controlt, illetve a xaml résznél kitöltöttem a generált generic.xaml-t. Viszont a code behind elég zavaros, csináltam egy Source dependency propertyt(bitmapimage típusút, bár nem tudom az kell-e). A probléma az eventen belül van, mert a _scrollViewer meg _image objektumokat hol kéne létrehoznom pl? Illetve nem teljesen világos, hogy mi hívja meg ezt az eseményt sem. -
Alexios
veterán
válasz
trisztan94 #5063 üzenetére
var butt = (Button)buttons_first_row.Children.ElementAt(2);
vagy
var butt = buttons_first_row.Children.ElementAt(2) as Button;
-
Alexios
veterán
válasz
Doctor46 #4984 üzenetére
én a harmadik képen úgy látom nagyjából megvan:
a case 1-ben ne csak irasd ki(azt akár berakhatod a metódusba is), hanem hivd meg azt a metódust amiben megvalósítod amt akarsz, pl. a harmoszog2-t, akkor:case 1:
haromszog2();
break;
case 2:
valamimas();
break;de amúgy ezen programon belül szerintem tökfölösleges statikusnak csinálni a metódusokat, illetve a switch elágazásba rakj be egy default: részt, hogy ha valaki rossz karaktert ütne be, illetve én tryparse-ba raknám az egészet, ne legyen gond abból, hogy valaki betűt ír be pl.
-
Alexios
veterán
válasz
trisztan94 #4889 üzenetére
mondjuk a xaml az kb ugyanaz wpf, silverlight meg winrt alatt is, szóval annyira nem vészes ilyen szempontból
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- ÁRGARANCIA! Épített KomPhone i5 10600KF 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Újra Akcióban!!! Ducky One 2 Mini és SF billentyűzetek a bolti ár töredékéért! Számla+Gari
- Samsung Galaxy S22 Ultra 512GB, Kártyafüggetlen, 1 Év Garanciával
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- Xiaomi Redmi Note 13 256GB Kártyafüggetlen 1Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest