Keresés

Új hozzászólás Aktív témák

  • Lacces

    őstag

    Sziasztok!

    Van olyan leírás, ahol leírják lépésről lépésre, hogy hogyan kell beállítani egy windows server 2012-t, ahova lehet publikálni asp.net alkalmazást? (Adatbázis, engédelyek, hogy a lokális gépen futó Visual Studioból lehessen publikálni a szerverre)

    Én csak külön-külön próbáltam összeszedni az információt, de az adatbázis sem műkődik a szerveren, távolról sem tudok publikálni... :R

  • Lacces

    őstag

    Hello.

    A 70-486-os Asp.Net MVC vizsgához mennyi felkészülési idő kell? És tényleg fontos az, hogy legyen 2-5 éves tapasztalat? :R
    (Html, Css, Javascript, Bootstrap az kisujjban van. Én aktívan fél éve dolgozom benne, de előtte php-ból az MVC és Network elméleteket már megszereztem. Azure-en voltam egy ilyen alap tanfolyamon, hogy mit csinál, hogyan nézz ki, de nem kódoltam benne.)

  • Lacces

    őstag

    Hali.

    Asp.net-nel hasznalom a WebGrid osztalyt es annak a Column metodusat, hogy oszlopokat generaljak a view-ban, viszont van egy problemam az, hogy sehogy sem tudom elerni, hogy a Column header (<a> link html tag-nek) rendelekezen egy title attributommal. Egesz egyszeruen egyetlen egy modszert sem talalok ra.
    Esetleg van valakinek erre otlete? :R

    Maximum javascript...

  • Lacces

    őstag

    Hali.

    Kezdo C#-os vagyok :)

    Szoval van ez a kodom, ami az XML-bol kiveszi a <br> html tag-eket.

    document = XDocument.Load(streamReader);
    document.Root.Descendants().Where(e => e.Name == "br").Remove();

    Viszont, azt hogy lehetne megoldani, hogy space-re cserelje ki?
    Lattam a replaceWith metodusat, de az xElement-et var.

    Text<br>Text1 ---> Text Text1 - ezt akarom.
    De most ugye ez van sajnos: TexText1

    Probaltam keresni Google-ben, de nem a kivant talalatok jottek.

  • Lacces

    őstag

    Sziasztok

    Ismerkedem az asp.net mvc-vel, és már lenne is két kérdésem.

    Model:
    // Model
    public class Todo
    {
    private const int DEFAULT_PRIORITY = 10;

    public int ID { get; set; }
    [Required]
    public string Title { get; set; }
    public string Description { get; set; }
    [Display(Name = "Expire date")]
    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
    public DateTime ExpireDate { get; set; }
    public int Priority { get; set; }

    public Todo()
    {
    this.ExpireDate = DateTime.Now;
    this.Priority = DEFAULT_PRIORITY;
    }
    }

    // Entity Framework Todo database context
    public class TodoDBContext : DbContext
    {
    public DbSet<Todo> Todos { get; set; }
    }

    1. Ha a Required attrit használom egy model field-en akkor a lista oldalon ezt a hibát kapom:
    System.InvalidOperationException. Ez mittől lehetséges?
    A controller kódja, ahol elakad:
    // GET: Todoes
    public ActionResult Index()
    {
    return View(db.Todos.ToList());
    }

    2. Hozzáadtam a Globalization.js-t is a solution-höz. És a dátumra alkalamzom elsősorban. (a fenti model).
    És annak az error üzenetét hogyan tudnám megváltoztatni? (Mert "The expire date is not a valid date" az üzenet, de én le szeretném cserélni) Próbáltam a DataType megadni error message attit, de nem használ.

  • Lacces

    őstag

    Sziasztok.

    Az iránt érdeklődnék, hogy van-e speciális könyvtár vagy framework, vagy akármi .NET alá, ami segit abban, hogy ismeret/tudásalapú rendszert készitsek?
    Egyetemen volt ilyen kurzus, és a C alapú CLIPS-ben dolgoztunk, de ahogy kerestem a neten, nem igazán találtam a .NET alá... láttam, elég érdkes válaszokat, hogy használjunk if-else ágakat, ami szerintem elég gyatra megoldás. Vagy kiértékelő fát épiteni. Nekem a CLIPS tetszett, ahhoz hasonló fejlesztői eszközök vannak .NET alá? (tudásalapú rendszer esetén) :R

  • Lacces

    őstag

    válasz martonx #3421 üzenetére

    Köszi szépen! :) :R
    Ingyenes hostingot tudnál ajánlani még?
    Jó, de neked van munkatapasztalatod benne :P Nekem meg nincs, ezért lettem PHP-s :D ide kezdőnek is felvettek.
    Java-t tanulom aktívan, és már csak mélyebb ismereteket kell összegeznem benne és szerver oldali programozást akarok végezni benne :).
    De pont emiatt a PHP annyira nem jön be, nekem hiányzik a típusok: int, string stb használata. Ez egy előnye az ASP.NET-nek mert mögötte a C# nyelv, amit meg ismerek, és jó.
    Csak mivel nincs 1 év folyamatos munkatapasztalatom, ezért szóba sem állnak velem... De ez másik fórumra tartozik, ki is fejtettem ott.
    Köszi mégegyszer :)

  • Lacces

    őstag

    válasz martonx #3412 üzenetére

    Igen, gyors. Köszi a választ, tetszett! :) A kifutó dolgot a Telerik MVC-re gondoltad?
    NuGet-hez, tudsz adni jó oldalt? Amin lehet átláthatóan tanulni :) Ami neked bevált. Vagy ahol a legjobb ilyen "eszközök" vannak felsorolva. Mert akkor szétnéznék :)

    Én nagyon gondolkozom, hogy ASP.NET MVC-vel csináljak egy weboldalt. Mert az MVC4-nek a mobil támogatása nagyon tetszik és baromi jó! :)

    Viszont ami kérdésem lenne, hogy ASP.NET MVC4 és esetleg a NuGet, hogyan működik együtt ha Linux szerveren üzemeltettem? A jelenlegi a sima asp.net mvc 3 támogatott és mysql-el működik.

    Hajlok az ASP.NET MVC-re, hogy megcsináljam az egyik oldalt, valahogy jónak érzem a HTML5 támogatva (gyorsabb), mint a többit :)
    (Bár nem érzem úgy, hogy munkakeresésnél előnyt jelent az ASP.NET ismeret :) ez a másik ami picit visszatart.)

  • Lacces

    őstag

    válasz martonx #3407 üzenetére

    Igen, igen, maga is egy framework, de ahogy ismerkedtem a Yii-vel akkor az nagyon gyors fejlesztést tett lehetővé, és néha elég korrekten.
    Például pager (lapozó), grid-es megjelenítés be lehet rakni (ezeket nem is kell leprogramozni, benne az ajax stb.). Valami olyasmi, mint amik az asp.net webforms-ban vannak.

  • Lacces

    őstag

    Sziasztok!

    asp.net mvc esetén is vannak úgy mond "frameworkok"? (Nem CMS-re gondolok, mint a drupál, joomla) Hanem egy olyan vonalra mondjuk, mint például a PHP esetén a Zend, Symphony, Yii és társai.

  • Lacces

    őstag

    válasz Frigo #3073 üzenetére

    Köszi :R
    Amúgy Linux-ra lehet rakni asp.net teljes értékű kiszolgálót? Vagy mindenképp a WinServer-ek kellenek?

  • Lacces

    őstag

    Sziasztok!

    Ha egy ASP.NET MVC-s oldalt akarok fejleszteni Linux alatt, monodeveloper-t használva.
    Valaki csinált már oldalt ez alatt az IDE alatt?
    Tapasztalatok?
    Már látom, hogy linux alatt is van ilyen, és kíváncsivá tett.

    Vagy inkább mennyen a VS2010express?

  • Lacces

    őstag

    válasz martonx #2981 üzenetére

    Aham, amúgy a tárolt eljárás megírását az SQL-ben végzed el és ASP.NET-ben meghívod, vagy ASP.NET-ben írod meg és ott is kerül meghívásra (természetesen EF segítséggel).

    Én láttam minden fajtát, és nekem nem tetszett, hogy a programkódban egy String-ben megírják a tárolteljárást. Jobb szeretem csak meghívni

    Devportálon is martonx néven vagy jelen? :DDD

  • Lacces

    őstag

    Sziasztok!

    Ez lehet lüke kérdés lesz, de muszáj feltennem.

    ASP.NET-ben az adatbázishoz kapcsolódáshoz / műveletek végrehajtása használhatom-e az ADO.NET-et? Vagy inkább a LINQ vagy EntityFramework a nyerő?

    Most megkellett álnom az ADO.NET tanulásban, másra kell fordítanom az időt. De nagyon tetszett nekem. Bár azon belül is 1 fejezet volt az Object Data Source témakör, de megfogott (igaz desktop alkalmazás)

    Lesz egy weboldal ahol statisztikához, grafikonhoz kérek le adatb-ből állandóan adatokat. Ez elég interaktív lenne.
    A másiknál meg egy félig közösségi oldal jellegű. De ha befutna, akkor napi 1000 felhasználó kiszolgálásától ne rémüljön meg.

    ubid Ez jó kérdés, tetszik +1 neki!

  • Lacces

    őstag

    válasz ubid #2960 üzenetére

    Évekkel ezelőtt a RenderAction függvénnyel volt nekem is valami baj :D

    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

  • Lacces

    őstag

    Sziasztok!

    Abstract Factory tervezési minta esetén az Abstract Factory(Gyár) és az Abstract Product(termék) helyet Interface-t használok, az nagy bűnnek számít?

  • Lacces

    őstag

    válasz emvy #2580 üzenetére

    emvy és martonx, megoldva. Muszáj volt egy adatot kinyernem. Átírtam másként a foreach-ben a kollekciót, és akkor egy hiba kivetélével jó volt, sikeres szinte minden, aztán még egy foreach-et kellett felhasználni így aztán azt az egy hibát is kiküszöböltem. Nem mindegy, hogy a kollekcióban milyen mélységben járok.

  • Lacces

    őstag

    Hali, már rég voltam itt, gondoltam jövők egy kérdéssel ismét :D

    Írni kellett egy metódust. A programkódban van, hogy mit is kértek tőlünk. Na ez kábé nagyjából megvan. (Ha lehetne LINQ-t használni, királyság lenne)
    Egy foreach-ben megkeresem a Dictionary-ben lévő Sör Objektumot, amelynek neve megegyezik a metódus sörnév paraméterével. (más megoldást nem tudok foreach-en kívül... LINQ nem játszhat, lentebb láthatjátók, mely 2 using-ot használhatom csak)

    Visszont van egy probléma, hogy ha megvan az a sör amit a sörnév alapján kerestem, akkor vele párhuzamosan, a Dictionary-ban<Sör obj, int value> a sör objektumhoz tartozó, value-t is módosítanom kell.
    Sajnos a foreach-ben az item.key és item.value csak lekérdező metódus. Van-e beállító metódusa is?
    Foreach esetén hogyan lehetséges egy adott Key-hez tartozó Value módosítása?

    sörök.Values.Add(item.Value - kimertKorso * 5); - erre gondoltam, de ez lehet hülyeség, hiszen honnan tudná a C#, hogy az adott Item.Key-hez tartozó Value-t állítom be?!

    // csak e kettő használható
    using System;
    using System.Collections.Generic;

    IDictionary<Sör, int> sörök = new Dictionary<Sör, int>();
    /// <summary>
    /// <para>Megkísérel eladni adott számú korsót az adott nevű sörből. Az eladott mennyiségnek megfelelően a bevétel nő, a rendelkezésre álló mennyiség korsónként 5 dl-rel csökken.</para>
    /// </summary>
    /// <param name="sörnév">a kért sör neve</param>
    /// <param name="nkorsó">a kért korsók száma</param>
    /// <returns>A korsók száma, amiket sikerült teljesen kimérni. Ha nincs ilyen nevű sör, akkor 0.</returns>
    public int Elad(string sörnév, int nkorsó)
    {
    int d = 5*nkorsó; // 5 deciliter = 1 korsó
    int kimertKorso=0;
    Sör s;

    foreach (var item in sörök)
    {
    if (item.Key.Név == sörnév) // ha megtalálom
    {
    if (item.Value >= d)
    {
    kimertKorso = item.Value % 5; // kimért korsók száma
    bevétel += kimertKorso*5; // bevétel nő eladott mennyiségnek megfelelően - ha dl és nem korsó
    sörök.Values.Add(item.Value - kimertKorso * 5); // talán?
    }
    }
    }
    return kimertKorso;
    }

  • Lacces

    őstag

    válasz martonx #2550 üzenetére

    Hát jahm. Először egy minimális C-t tanítanak, aztán jönnek tárgyak ahol C++-ot használd ki, de ezt tanuld ki magadtól, C++-ot nekünk nem tanították plusz az osztályait sem, és ahogy tanulok egy java könyvből, mindig mutattja, hogy miben hasonlít, tér el a két nyelv... és ezt is magadtól. Plusz itt van a Java meg a C# is, meg a rengeteg beadandó...
    És csak egyszerre egy nyelvvel tudok foglalkozni, most is csak a Thinkin in Java-t, és ha több időm lenne akkor talán a C#-ban is mélyebben bele tudnék nézni, és jobban gyakorolni, de így meg...
    Design Patterneket is szeretnék még tanulni de idő hiány miatt megszakadok.

    Fórumokba is azért szeretek felírni, mert sokszor adnak tippeket, meg így meg úgy kéne csinálni, csak hát a tanár... mást követel... a kőkorszakból :D

    emvy ez igaz, nincs, de amiket veszünk pl.: ahogy volt a példám is, C# állítólag az ilyen új IComperable vagy IComparer (most pihen az agyam :D) Azt külön osztályba kellett írni, "mert, hogy komplikációk vannak" tanár szerint. Java-ban meg oks.
    De a struktúrák is vannak most, enum típusok is más-más (Javában nincs struk) meg akkor lestem, hogy C# struktúránál a Constructornak meg kell hívnia az Ős osztályból egy konstruktor, meg ilyen apróságokra gondolok. Meg hasnext() metódusok stb. Amiket én személy szerint szeretek, és sokszor hiányolom C# alól :D ilyenkor más logikát követel tőlem

  • Lacces

    őstag

    válasz martonx #2546 üzenetére

    Java és VB.Net-tel vagyok inkább egy hullámhosszon.
    Ahogy elgondoltam a metódikát C#-ban elsőnek, az ott Java-ban szépen müködött.
    Aztán már csak pár bajom volt az utolsó rendezés metódikával. De aztán felírtam a stackoverflow-ra és ott még beadtak nekem 3 szimpla sort, és már jól rendezte a dolgokat :).
    Meg pár tippet is kaptam, hogy amikor gyermek-osztályról van szó, akkor hogyan kell haladni, milyen feltételeket kell írnom, hogyan gondolkozam stb. (ne írjak felesleges sorokat)

    Az egy hullámhosszot úgy értettem, hogy ugyanazt a feladatot, mindig is hamarabb tudtam Java-ban megcsinálni mint C#-ban... - lehet a Java-ra áll rá jobban az agyam. C#-ban mindig van valami gondja a fordítónak...

  • Lacces

    őstag

    válasz Szabesz #2543 üzenetére

    Gondolom igen, mert ezt mutatta be órán. Jobbat nem igazán találtam.

  • Lacces

    őstag

    válasz Jester01 #2542 üzenetére

    Yeap, már nagyából megvan a megoldás. Kössz! Én és a C# sosem vagyunk egy hullámhosszún de hát sajnos ez kell.

  • Lacces

    őstag

    válasz Lacces #2540 üzenetére

    Órán ezt vettük:

    Bár már itt feltünt nekem, hogy a CompareTo() -t nem implementáltuk külön a Név adatmezőkre (Java-nál ezt megcsináltuk) de én magam sem implementáltam

    Amúgy ennél van szebb megoldás? Mint, hogy így külön osztályt csinálok neki? :R

    // Java Comparerto-nak a megfelelője
    class SzemelyNevComparer : IComparer<Szemely>
    {
    public int Compare(Szemely x, Szemely y)
    {
    if (x == null || y == null)
    {
    throw new NotImplementedException("Na mizu Öcsém?");
    }
    return x.Nev.CompareTo(y.Nev);
    }
    }

    class Program
    {
    static void Main(string[] args)
    {
    Szemely[] t = { new Szemely{Eletkor=19, Nev="Lajos"},
    new Szemely{Eletkor=25, Nev="Monika"},
    new Szemely{Eletkor=28, Nev="Peter"},
    new Szemely{Eletkor=19, Nev="Gabor"},
    new Szemely{Eletkor=25, Nev="Peter"},
    new Szemely{Eletkor=18, Nev="Andrea"},
    new Szemely{Eletkor=31, Nev="Peter"},
    new Szemely{Eletkor=29, Nev="Gabor"},
    };
    Console.WriteLine("Comparer megvalósítás: Névszerint: ");
    Array.Sort(t, new SzemelyNevComparer());
    foreach (var item in t)
    {
    Console.WriteLine(item);
    }
    Console.ReadLine();
    }
    }

  • Lacces

    őstag

    Visszont van egy új problémám. Házi és váááááá :D

    Feladat:
    Írjon a Dolgozat osztályban egy statikus metódust, amely paraméterként megkap egy italokat tartalmazó olyan tömböt, amelyben a szeszesitalok alkoholtartalma különböző. A metódus adja vissza a tömbben található három legmagasabb alkoholtartalmú szeszesitalt! Ha nincs ennyi szeszesital a tömbben, akkor a metódus null referenciát adjon vissza!

    Mit érthet itt null referncián?

    Hogyan lehet implementálni / elérni, hogy egy Ital tömbben SzeszesItalokat rendezen? :D

    Megírtam én metódust, de valamiért az órai példával ellentétben az én VS-m csak úgy imádja írni az Errorokat :D (séma ugyanez volt)

    Hiba:
    Error 2 'Kocsma.Dolgozat.ItalComparer' does not implement interface member 'System.Collections.Generic.IComparer<Kocsma.Ital>.Compare(Kocsma.Ital, Kocsma.Ital)'

    Kódom:
    class ItalComparer : IComparer< Ital >
    {
    // Ez az én ötletem...
    public int Compare(SzeszesItal x, SzeszesItal y)
    {
    if (x == null || y == null)
    {
    throw new NotImplementedException("baj van");
    }
    return x.AlkoholTartalom.CompareTo(y.AlkoholTartalom);
    }
    }

    static void RendTömb(Ital[] t)
    {
    int count=0;
    Array.Sort(t, new ItalComparer());
    foreach (Ital item in t)
    {
    if (item is SzeszesItal)
    {
    count++;
    }
    }
    // ha nincs 3 szeszesital
    if(count<3)
    Console.WriteLine("null");
    else
    {
    Console.WriteLine(t[0]+ "\n" + t[1] + "\n" + t[2]);
    }

    }

    Szerkesztve: töröltem az egyik hibát. Én néztem be...

  • Lacces

    őstag

    Igazatok van... cmd is elment, az sem volt jó. Azthittem mindig, hogy az a command ablak a VS-ben van, mint valami Console ablak... (ekkor ezért nem leltem normális találatot Google-ban) :R

  • Lacces

    őstag

    Hali!

    Hatalmas segítség kellene, idegbeteg vagyok már...

    Nézem google-t de olyan gyér a találat, nah szal van egy hatalmas nagy gondom. Valamiért a VS úgy döntött, hogy megszívat. Isten áldja soká.
    VS 2010 (64 bitesről van szó)

    Console Application-nél a Konzol ablaknak a betűméretét hol lehet megváltoztatni? (Pontosan).
    Benne vagyok én itt, és végig mentem a fél opción, és a Konzol ablak betűméretén kívül mindent képes vagyok nagyítani :D

    [szerkesztve]

    Megnéztem, midnenhol a betűméret 9-es, de a Konzol ablakban lévő legalább 3 vagy 4-es, végig lépkedtem az összesen Options/Enviroment/Fonts and Color

    De lehet, hogy a Konzol ablak méretével van a gond... azt az opciót hol lelem meg a VS-ben?

  • Lacces

    őstag

    válasz amargo #2513 üzenetére

    váááá külön köszönet érte! Most ez az override-ozást is megértettem! :R

  • Lacces

    őstag

    válasz stevve #2516 üzenetére

    Igen, a tanár még abban a korszakban él.

    Köszönöm a tippeket, majd még ezzel a témakörrel jelentkezem, mert az egyiknél csak lesek, hogy mi a fene van...

    És a többieknek is köszönöm a segítséget, meg a pdf-t is lesem

    (sorry a késői jelentkezésért) :R

  • Lacces

    őstag

    válasz Lacces #2510 üzenetére

    kv.plusz(kv) esetén mi a hézag?

    Lehet, hogy az előző hsz-szel ellent mondok magamnak, de itt ugye az történik, hogy

    kv.plusz() van, és ezért mivel a kv az Valósként lett inicializálva, ezért egyből a Valós osztályban keresi hozzá a függvényt! De mivel a paraméterben lévő kv deklarált típusa Komplex, ezért a Valós plusz(Komplex k) metódust hívja meg!

    Hoppá de jó vagyok :D

    Vagyis akkor ezekből azt a következtetést vonhatom le, hogy a függvény hívásnál az számít, hogy milyen objektumként van inicializálva, kv = new Valos() ezért, mindig a Valos osztályban keresi hozzá a metódusokat.
    És az, hogy melyik paraméterű függvényt hívja meg plusz(Valos v) vagy plusz(komplex k), az a paraméterben lévő kv objektum deklarált típusa dönti el, ami jelen esetben komplex.

    Jól elmagyaráztam magamnak?

    De ha van valakinek könnyebb, egyszerűbb mondókája, szívesen várom, itt PH-n mindig jókat kaptam :) :R

  • Lacces

    őstag

    1. Kérdés:
    A C# és Java "dinamikus kötésének" a működése megegyezik?
    (Szülő-gyermek osztályra gondolok, Téglalap deklarált, de négyzettel hívtuk meg stb...)

    Lenne egy kérdésem, 9-ből 8-t megértettem, egynél akadt egy kérdésem... Osztály öröklés vagy dinamikus kötés - én ezt a szakszót láttam :-D

    Komplex és valós szám osztályok adottak, a lényeg, hogy van ez a 3 metódus, :
    Komplex osztályban definiált metódus:

    public Komplex plusz(Komplex k){ // Komplex osztályban
    System.out.println("K + K: "+toString() +" + " + k.toString());
    return new Komplex(re+k.re, im+k.im);

    }
    Valos osztályban definiált metódus:

    public Valos plusz(Komplex k){ // Valos osztályban
    System.out.println("V + K: "+toString() + " + " + k.toString());
    return new Komplex(re+k.re, k.im);

    public Valos plusz(Valos v){ // Valos osztályban
    System.out.println("V + V "+toString()+ " + " + v.toString());
    return new Valos(re+v.re);
    [

    És akkor ez történik a main-ben:
    Komplex kk = new Komplex(3.4, -5.6);
    Komplex kv = new Valos(1.2);
    Valos vv = new Valos(7.8)

    kk = vv;
    Console.WriteLine(kk.plusz(new Valos(9)).ToString());

    Az eredmény: V + K: (7.8) + (9.0) kiírás!

    kk=vv; Azt jelenti, hogy a kk objektum deklarált típusa komplex lesz, de dinamikus típus, mert a Valos osztály konstruktárat használja fel.? (Valósként van inicializálva? Nem tom, hogy ezt hogyan mondjuk)

    na most itt meghívja plusz() metódust. És itt elgondolkodtam, hogy miért a public Valos plusz(Valos v) metódust hívja meg! Ez nem tiszta.

    Ez az eredmény kiértékelés (függvény hívás hogyan történik?)

    1. Elsőnek a Komplex osztályon megy végig, aztán a Valósba megy.
    vagy
    2. Egyből a Valós osztályba megy?

  • Lacces

    őstag

    válasz stevve #2491 üzenetére

    Megnyugtatlak ez nem az! Magamnak akartam. De kaptam ezt stuktogrammot, és mit ne mondjak... elég csúnya lett... Bár én még ennél szebb megoldást nem igazán láttam.
    Visszafejtése legalább egyszerű.

    De ha van egy szép kódsora arra, hogy a lengyel formára hozást hogyan meg lehet nagyon profi módon megírni! Az most mondja, vagy hallgasom el örökre :DDD

    De prog2-n Listákat kellett írni, és Bináris Kereső Fát... De az osztály már megvolt írva, és a metódusok is, de a metódust meg kellett írni.

    Figyelj:
    public bool insert(int key)
    public bool removeAll(int key)
    public bool addLast(int key)

    és a többi.
    Semmilyen más paramétert nem kaphat a metódus, rekurzív megírás kizárva, egyéb osztályok, interfészek használata tilos. Ez a no comment kategória.

    refaktorálható lenne? Az alatt mit értesz?

  • Lacces

    őstag

    Nos, köszönöm, a helpet, igyekeztem megírni a stuki alapján a kódot.

    Valami nem stimmel az algoritmussal, (hosszabb bemeneti sztringeknél vettem észre)

    Mert ezt kellene kapnom:
    5 1 2 + 4 * + 3 -
    De helyeztte ez jön ki...
    5 1 2 + 4 * 3 - +

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Collections;

    namespace LengyelForma
    {
    class LengyelForma
    {
    static void Main(string[] args)
    {
    String str = "5 + ((1 + 2) * 4) - 3";
    String result=LengyelFormaKonvertalas(str);
    Console.WriteLine(result.ToString());
    Console.ReadLine();
    }

    static String LengyelFormaKonvertalas(String input)
    {
    Stack stack = new Stack();
    String str = input.Replace(" ",string.Empty);
    StringBuilder formula = new StringBuilder();
    for (int i = 0; i < str.Length; i++)
    {
    char x=str[i];
    if (x == '(')
    {
    stack.Push(x);
    }
    else if (IsOperandus(x))
    {
    formula.Append(x);
    }
    else if (IsOperator(x))
    {
    while (stack.Count > 0 && (char)stack.Peek() != '(' && Prior(x) >= Prior((char)stack.Peek()))
    {
    char y = (char)stack.Pop();
    formula.Append(y);
    }
    while (stack.Count > 0 && (char)stack.Peek() != '(' && Prior(x) > Prior((char)stack.Peek()))
    {
    char y = (char)stack.Pop();
    formula.Append(y);
    }
    stack.Push(x);
    }
    else
    {
    char y = (char)stack.Pop();
    if (y != '(')
    {
    formula.Append(y);
    }
    }
    }
    while (stack.Count>0)
    {
    char c = (char)stack.Pop();
    if(c!='(')
    formula.Append(c);
    }
    return formula.ToString();
    }

    static bool IsOperator(char c)
    {
    return (c=='-'|| c=='+' || c=='*' || c=='/');
    }
    static bool IsOperandus(char c)
    {
    return (c>='0' && c<='9' || c=='.');
    }
    static int Prior(char c)
    {
    switch (c)
    {
    case '=':
    return 1;
    case '+':
    return 2;
    case '-':
    return 2;
    case '*':
    return 3;
    case '/':
    return 3;
    case '^':
    return 4;
    default:
    throw new ArgumentException("Rossz paraméter");
    }
    }
    }

    }

  • Lacces

    őstag

    Hogyan kell kivenni a whitespaceket egy Stringből?

    Probáltam még a String str = input.Split(' '); -t is használni, de akkor a char x=str[i]; -nél kerültem bajba, a fordító mindig kijelenti, hogy expliciten sem lehet string-et char-á konvertálni.
    Trim()-et is bevetettem, de az sem segített rajtam

    String str = "5 + ( ( 1 + 2 ) * 4 ) −3"; Ennél egy StackEmpty hibát dob ki,
    de ha a string-ben nincsenek whitespacek, akkor nem dobja ki a hibát :)

    static String LengyelFormaKonvertalas(String input)
    {
    Stack stack = new Stack();
    String str = input.Trim();
    StringBuilder formula = new StringBuilder();
    for (int i = 0; i < str.Length; i++)
    {
    char x=str[i];
    if (x == '(')
    stack.Push(x);
    else if (IsOperandus(x))
    {
    formula.Append(x);
    }
    else if (IsOperator(x))
    {
    if (stack.Count>0 && (char)stack.Peek()!='(' && Prior(x)<=Prior((char)stack.Peek()) )
    {
    char y = (char)stack.Pop();
    formula.Append(y);
    }
    if (stack.Count > 0 && (char)stack.Peek() != '(' && Prior(x) < Prior((char)stack.Peek()))
    {
    char y = (char)stack.Pop();
    formula.Append(y);
    }
    stack.Push(x);
    }
    else
    {
    char y=(char)stack.Pop();
    if (y!='(')
    {
    formula.Append(y);
    }
    }
    }
    while (stack.Count>0)
    {
    char c = (char)stack.Pop();
    formula.Append(c);
    }
    return formula.ToString();
    }

  • Lacces

    őstag

    válasz Lacces #2473 üzenetére

    Már lejárt a szerkesztési időlimit... bool metódusra vonatkozó return true/false kérdés felejtős, elfogadta csak a true visszatérési értékre is :)

    Amúgy a Console Ablaknál, hogyan lehet beállítani, hogy fent maradjon az ablak (ne tűnjön el) és ne egy Console.ReadLine()-al állítsam meg?

  • Lacces

    őstag

    válasz Lacces #2472 üzenetére

    Ehhez mit szólsz? (nekem tetszik :-D)

    public bool AddFirst(int val){
    Node current = new Node(val);
    current.Next = Head;
    Head = current;
    Size++;
    return (Head == current);}

    public bool AddLast(int val){
    if (Head == null)
    {
    Head = new Node(val);
    Size++;
    return true;
    }
    else
    {
    Node current = Head;
    while (current.Next != null)
    {
    current = current.Next;
    }
    current.Next = new Node(val);
    Size++;
    return true;
    }
    }

    Kérdés: Mikor és milyen esetben követeli meg a bool függvény, hogy a megadjam neki mindkettő visszatérési típust: return true, és return false, és mikor elégszik meg csak az egyikkel?
    AddLast esetében megelégszik, hogy 2 db return true van, de AddFirst-nél nekem nagyon jött a fordító, hogy legyen egy return true és return false is. :R

  • Lacces

    őstag

    válasz Jester01 #2470 üzenetére

    a return az tényleg igaz, ott az else ágat kivettem. Amúgy melyik a jobb megoldás?
    Ha return false vagy return true-t használok, vagy egy bool értéket, és azt adom át a return-nek? pl: bool result = flase; return result;

    RemoveAll-nál igaz, az elején még nekem while ciklus volt, ott lehet a beadandó miatt átnéztem :-D, Így while szépen veszi ki

    While esetében melyikre gondoltál? Amelyik kommentelve van, vagy amelyik használatban?

  • Lacces

    őstag

    válasz Gülredy #2469 üzenetére

    Pl.:

    int y;
    int.TryParse(Console.ReadLine(), out y);
    Console.WriteLine(y);

    1. sorban deklarálod
    2. sorban inicializálod (a metódus 2. paraméterében) // és innentől kezdve használhatod az értékével együtt az y változót

    3. sorban meg kiír.

  • Lacces

    őstag

    válasz x007 #2454 üzenetére

    Köszönöm neked és Jester01-nek is, nagyon jó az észrevétel! :R

  • Lacces

    őstag

    Srácok, volt egy beadandó feladat, LáncoltLista C#-ban... (no comment) megoldottam magam módján, de az egyik esetben szeretnék egy szebb megoldást, a többi esetben, ha van valakinek tippje, hogyan lehet átírni rövidebb alakra, optimalizálni, azt is nagyon szívesen fogadom, sőt igénylem a jó tanácsokat :)

    Osztály implementáció a legvégén.

    Szépíteni kellene, amit úgy értek elsősorban, hogy megpróbáltam egy másik while ciklusban megírni - ami kommentelve volt - de az úgy nekem nem működött (akkor csak két elemet kaptam vissza), Működik a kód, csak csúnya
    public bool AddLast(int val)
    {
    // Write your code here
    if (Head == null)
    {
    Head = new Node(val);
    Size++;
    return true;
    }
    else
    {
    Node current = new Node(val);
    Node previous = Head;
    int i = 1;
    while (i < Size)
    {
    previous = previous.Next;
    i++;
    }/*
    while(previous.Next.Next!=null){
    previous.Next = previous.Next.Next;
    }*/
    previous.Next=current;
    Size++;
    return true;
    }
    }

    Ezeket lehet-e másképp implementálni? (vagy optimalizálni)

    public bool AddFirst(int val)
    {
    // Write your code here
    Node current = new Node(val);
    current.Next = Head;
    Head = current;
    Size++;

    if (Head == current)
    return true;
    else
    return false;
    }

    public bool RemoveAll(int val)
    {
    // Write your code here
    bool result = false;
    if (Head == null) return false;
    if (Head.Value == val)
    {//does head contain the value
    Head = Head.Next;
    Size--;
    result = true;
    }
    Node Prev = Head;
    while ((Prev.Next != null))
    {//actually checking prev.next if it contains the value
    if (Prev.Next.Value == val)
    {
    Prev.Next = Prev.Next.Next; //remove link from prev to prev.next
    Size--;
    result = true;
    }
    else
    {
    Prev = Prev.Next;
    }
    }
    return result;
    }

    Osztály Implementáció:

    class MyLinkedList
    {
    public int Size { get; private set; }

    Node Head { get; set; }

    class Node
    {
    public int Value { get; private set; }
    public Node Next { get; set; }

    public Node(int val)
    {
    Value = val;
    }
    //... metódusok

  • Lacces

    őstag

    válasz Gülredy #2461 üzenetére

    A többiek jól mondják :)

    Plusz, használj TryParse-t a Parse helyett :)

    Magyarázat itt: Magyarázat itt AE-tól :)

  • Lacces

    őstag

    válasz WonderCSabo #2451 üzenetére

    WonderCSabo Lehet igazad van :) Csak pár egyszerű mezei példát láttam operátor felülírásra!

    x007 Az equals-t hogyan kell felülírni? Van rá általános megoldás? (vagy elég úgy ahogy fentebbi hsz-nél van)

    És ennek mikor van gyakorlati haszna? (amikor megvizsgálom, hogy a két referencia ugyanaz-e) :R

    Szerk.:
    Azt szem látom mire gondoltál, ennyi átírás bőven elegendő [IEquatable.Equals], ami az oldalon van public override bool Equals(Object obj)
    ?

  • Lacces

    őstag

    válasz Lortech #2449 üzenetére

    WonderCSabo Köszönöm, igen azt én is észrevettem, de azthittem több van a háttérben.

    Lortech Köszönöm, így kerek most, ezt a value type-ot hirtelen nem értettem az elején, de hogy így itt írtad, rájöttem, hogy "érték típus"

    Amúgy ha a mező referencia típus, akkor ugyanúgy megvizsgálja, hogy a referencia típusban lévő értékek "=="-e ?
    pl.: egy lista, ugyanazokkal az elemekkel?

  • Lacces

    őstag

    Hali!

    Objektumoknál írtunk egy ilyen Equals()-t én csak most vettem észre, hogy az
    n1.Equals(n3) esetén true-t ad vissza. Az a kérdésem, hogy miért?
    (Nem hiszem, hogy a paraméter miatt lehet)

    (n1==n3 false, mert a két objektum más helyre mutat.)

    public override bool Equals(object obj)
    {
    // as - Referenciát ad vissza, ami a jobb oldalon van, ha konvertálható
    // ha nem, akkor null-t ad vissza!
    Negyzet tmp = obj as Negyzet;
    // Ha Nem sikeres a konverzió
    if (tmp == null)
    {
    return false;
    }
    // Ha Sikeres a konverzió
    return this.a == tmp.a;
    }

    static void Main(string[] args)
    {
    Negyzet n1 = new Negyzet(2.0);
    Negyzet n2 = new Negyzet(5.0);
    Negyzet n3 = new Negyzet(2.0);
    ...
    Console.WriteLine((n1==n2) + " " + (n1==n3)+ " " + (n2==n3));
    Console.WriteLine(n1.Equals(n2)+ " " + n1.Equals(n3)+ " " + n2.Equals(n3));

  • Lacces

    őstag

    válasz martonx #2441 üzenetére

    Hogyan tud deklarálni egy objektum referencia változót? - ezt nem értem, hogy mi az az objektum referencia változó

    objektum és objektum referencia változó egy és ugyanaz?

  • Lacces

    őstag

    Sziasztok!

    Elméleti kérdéseim lennének: (összevadászgattam java és c#)

    Mi a kapcsolat az objektum és az őt definiáló osztály között?
    Az objektum az osztály egy megvalósítása , példánya. Mást nem találtam...

    Hogyan tud deklarálni egy objektum referencia változót?
    Ez mi? Ez alatt mit ért? Kerestem neten, és ilyen megoldások születtek: String, Array, magyarán Object osztály gyermekeinek az objektumai. Ez alatt mit érthetnek?

    Hogyan tud létrehozni egy objektumot?
    new kulcsszóval és konstruktorhívással

    Hogyan tud deklarálni és létrehozni egy objektumot egyetlen utasítással?
    ClassName objectName = new ClassConstructor();
    Pont emiatt nem értem az objektum referencia változót, hogy mi az akar lenni. Mire gondol a tanár. Vagy csak simán erre gondol: Osztálynév ObjektumNév ?

    Mi a különbség a konstruktorok és a metódusok között?
    Elnevezése az osztály neve.
    Inicializálja az Osztályt
    Nincs visszatérési értéke
    Létrehozza a VMT-t (Virtual Method Tablet)

  • Lacces

    őstag

    válasz ArchElf #2426 üzenetére

    stevve, Jester01 köszi. Igen, nem az, de legalább fejből jött magamtól :-D És ez már félsiker. Egy nap olyan jó programozó leszek mint ti :DDD :)

    AE Neked külön köszönet, a példakódért. Nagyon tetszett ez a megoldás, sosem találtam volna ki, ezt :)

    Még List-eknél nem járok.
    Hogyan működik a tomb.add() ? Tudom, hogy a List elemhez hozzáaadja a tempet.

    De ha már a List tartalmazza: 3, 4, 4
    akkor hogyan tudja hozzáadni a 4. elemet?
    (rendben vágom, hogy utána az 1. elemet törli)
    Ahogy látom, hogy a List egy 3 elemű tömböt tartalmaz, és ez érdekel, hogy a háttérben a 4.-ket hogyan képes hozzáadni.

    TryParse, igen, már eszembe jutott, hogy ezt érdemes használni. De én akkor fórumon a Convert.ToDouble()-el hasonlítottam. Azt írták azért nem jó a Convert.ToDouble, mert az pluszban meghívja a TryParse()-t, meg olyat vettem észre, hogy false helyett 0-val tért vissza.

    Parse-nek mi a hátránya a TryParse()-al szemben? Amiért nem javaslod?

    Bocs de még egyetemen vagyok, és a legtöbb oldalt marha nehezen hozza be :(((

  • Lacces

    őstag

    válasz Aronle #2422 üzenetére

    Hali!

    Tömbös megoldás:
    Igyekeztem követni a do-while szerkezetedet, de én benne elhelyezkedtem inkább egy IF-et így számomra átláthatóbb, de több megoldás is van :-)

    Szerintem is célszerű a tömbös, szerintem a legtöbb embernek elsőre ez ugrik be :)

    1-50-ig futhat le a ciklus... max 50-ig próbálkozhatsz :-D Azért a végtelenségik ne! :-D
    Ha a bevitel már nagyobb vagy egyenlő mint 3
    Ha igena tömb utolsó 3 elemének az összege egyenlő-e 8-al?
    Kiírom, hogy van eredmény
    megszakítom a ciklus futását! (break utasítás)

    int[] tomb=new int[50];
    int i = 1;
    do
    {

    int temp;
    temp = int.Parse(Console.ReadLine());
    tomb[i] = temp;
    if (i >=3)
    {
    if ( (tomb[i] + tomb[i - 1] + tomb[i - 2]) == 8)
    {
    Console.WriteLine(" Az utolsó 3 elem összege 8 ");
    break;
    }
    }
    i++;


    } while (i<=50);

  • Lacces

    őstag

    válasz stevve #2400 üzenetére

    Sziasztok!

    Köszönöm a megoldást Jester01 Illetve a többieknek is. Bocs, hogy ilyen későn jöttem fel a válasszal.

    Amúgy ez egy gyakorló feladatsor része volt, amelyek közül a következő gyakon, lesz belőle egy röpi, és ha az ember nem tudja megoldani az adott feladatot 10-15 perc alatt akkor nem kaphat aláírást és bukta az egész tárgyat.
    És tegnap este annyira a rendezésben gondolkoztam... az a és a[i+1]-re fokuszáltam, hogy amit Jester01 írt le, az a(i) és a[j] kombó teljesen kiment a fejemből, csak másnap reggel jutott eszembe, mikor c++-ozni kellett. :-D

    Most a java-t és c#-ot tanuljuk, de... nem is ennek a két nyelvnek az alapjait, hanem ilyen c/c++-os feladatok megoldását, nézzük. Szal c++-osan programozunk.
    Meg most vannak tantárgyak, amelyek c++-ra épülnek, szal nem baj ha megtanulom ezeket az algoritmusokat.
    Sőt nekem nagyon tetszett amikor python-nal melegettem be a programozásba (nekem a python sokat segített, szerintem egy jó tanuló nyelv), hogy egy split metódust megírtunk saját kezüleg, mert így tudom, hogy akkor egy-egy függvény hogyan működik a háttérben, vagy volt egy C-os könyv, ahol olyan függvényeket írtunk meg, amelyek pl.: a unixos cat parancs megvalósításának is tökéletesen megfelelt. Ez nekem tetszett és sokat segített.

    Visszont értem én stevve érvelését is. Magamtól tanultam ezeket a kollekciókat, használtam is stb. Java és C# alapok vannak. És tényleg értem én, hogy mit mondasz, mert amit a munka világa követel, azt az egyetem nem tanítja. Azt magamtól kell megszerezni. Teljesen megértelek, és hidd el én is kidobnám ezeket, de ha kell diploma, akkor muszáj leszek ezeket megcsinálni :) Máskor majd jelzem, hogy sulihoz kell vagy magamnak, Bocsánat, remélem nincs harag! :R

  • Lacces

    őstag

    Visszatértem.

    Én nagyon elakadtam egy feladat leprogramozásában. Rendkívül rosszul gondolkodom benne. Már 4 órát töltök vele, netet böngészem de nem bírom felfogni, amiket ott találok (pontosat olyat nem, mint ami nekem kell). Kellene a szájba rágós segítség.

    Feladat: Program írása... a beolvasott számok összes másodosztályú, ismétlés nélküli kombinációját lexikografikusan növekvő sorrendben!

    Példa:
    7 2 5 3
    Ezt rendezem, okés, beolvastatom, gyerekjáték.
    A fenti bemenethez tartozó kimenet:
    2 3
    2 5
    2 7
    3 5
    3 7
    5 7

    Valami ilyet írtam legutolsó probálkozásom, ami egy hulladék:
    static void combination_out_repeat(int[] a)
    {
    for (int i = 0; i < a.Length; i++)
    {
    int actual = a[i];
    //int next=a[i+1];
    int last = a[a.Length - 1];

    while (actual<last)
    {
    Console.WriteLine(a[i]+" "+a[i+1]);

    }
    actual++;
    }

    Már ideges is vagyok, hogy ilyen sok időm elment egy piti feladatra... de nem bírom le implementálni, amit akarok.
    QuickSort, BubbleSort stb... leprogramozom és értem is. De itt a .... kivan, hogy nem megy, már a falat verem.

    Ha egy kezdőnek szánt, ilyen számos példás weboldalt tudtok ajánlani már az is tökéletes!

  • Lacces

    őstag

    Van kettő buborékrendezéses algoritmus C#-ban.

    [C static void bubbleSort(int[] array)
    {
    // Write your code here.
    int j;
    int temp;
    int i = array.Length - 1;
    while (i > 0)
    {
    int swap = 0;
    for (j = 0; j < i; j++)
    {
    if (array[j] > (array[j + 1]))
    {
    temp = array[j];
    array[j] = array[j + 1];
    array[j + 1] = temp;
    swap = j;
    }
    }
    i = swap;
    }

    }
    }

    A másikban az eltérés csak az if feltétel if (array[j].CompareTo(array[j + 1]) > 0)

    1.Kérdés, hogy hogy nem kell a függvény argumentumát int[ ] array - ről IComperable[ ] array -re változtatni? Hogy-hogy nem kéri ezt az interfészt?
    És azért nem kell az IComparable interfészt implementálni mert a static void main() és static void bubble-el dolgozom?
    (Class-okat nem használok, csak egy sima tömb rendezés)

    2. Kérdés, van-e jelentős eltérés a két if feltétel között?
    CompareTo() annyit tesz, ha igaz, hogy a j-dik elem nagyobb mint a j+1-dik akkor 1-el tér vissza, és így tovább. És ha ez az érték 1 ami > 0, nál akkor lép be a feltételbe.
    De akkor nem egyszerűbb csak simán az első verzió( array[a]>array[a+1])?

    Csak érdekelnek a miértek és a hogyanok :)

  • Lacces

    őstag

    válasz Jester01 #2391 üzenetére

    Köszi, rem egy nap én is ilyen prof leszek mint te :R

  • Lacces

    őstag

    Jester01, igazad volt, kösz, hogy szóltál (pont olyan 2 példát használtam tesztre amire jó volt a megoldás..)

    Illetve még ezek a kérdések vannak:
    Mi a tömb indexének a típusa?
    Lehet, hogy rosszul kerestem rá neten ezért nem találtam a megoldást. Én Integert mondanék. Meg néhány helyen úgy láttam. (Bár msnd-en lehet rosszul kerestem, ott nem láttam)

    Ez nem a kérdés része, de érdekel a válaszotok:
    Valahol láttam, hogy a List-nek az index értéke 0-32767-ig terjed, ami meg a Short-nak a felső értékevel egyezik meg...
    Egy array-nek mennyi a maximális értéke? Olyat találtam, hogy 32bites rensdzeren max 2GB körül van, bár máshol meg ilyen választ találtam:

    "Keep in mind that every time you place an object in an array, it allocates a certain amount of memory to that object. So, if an object of type int is 32 bits long, that's how much memory that would be allocated for each element in the array. So, if an array consisted of 500 int objects, then it would be right at around 2KB in size. "

    Itt egyébként az int objects most pontosan mire utal?

    Mi a legkisebb index értéke?
    0
    Mi történik, ha a programjában megkísérel hozzáférni egy érvénytelen indexű tömbelemhez?
    IndexOutOfRangeException keletkezik

  • Lacces

    őstag

    válasz Jester01 #2385 üzenetére

    Köszi, a ref is jól jön ilyenkor, meg a kollega megoldása is :) :R

    "This allows you to declare an array and assign any array of int objects to it, regardless of the array's length." - ezt olvastam fent msdn library-ben. Itt az int objects akkor mi akar lenni?

    Utána eszembe jutott, hogy az int[] az referencia típus, mert a system.object-ből öröklődik.

  • Lacces

    őstag

    válasz Jhonny06 #2382 üzenetére

    Köszönöm. Így okés elméletben.

    1.Kérdés: Még sosem írtam c#-ban mutatókat. Megkérhetlek arra, hogy a kódomat átírod szintaktikailag helyes formában?
    Én így figyeltem ki netről: de nem jó bekavar neki folyton valami

    static unsafe void Main(string[] args)
    {
    // double[] array = new double[30];

    int number = 0;
    int *pointer = &number;

    int[] numbers = new int[1];


    m(*pointer, numbers);

    // number: 0, numbers[0]: 3 mutatók nélkül
    System.Console.WriteLine("number is " + number + " and numbers[0] is " + numbers[0]);
    Console.ReadLine();


    }
    static unsafe void m(int *x, int[] y)
    {
    *x = 3;
    y[0] = 3;

    }

    Az m() argumentummal van baja, azt írja ki rá, hogy int-et nem lehet int*-ba konvertálni...

    2.Kérdés
    a static void m( int x, int[] y){...}-nak, hogy tudok szintaktikailag helyes return értéket adni?
    az int-et még elfogadja, de az int[]-t már nem. Hiába írtam át a void-ot int-re úgy sem fogadja el.

    Törölhető! Már megkaptam rá a választ!

    Csak közben itt magamtól próbáltam és netről beszerezni az infókat!

    Köszönöm, hogy már leírtad a megoldást! :R

  • Lacces

    őstag

    Convert Téma:

    String isbn = Console.ReadLine();
    int sum = 0;
    for (int i = 0; i < 9; i++)
    {
    sum += Convert.ToInt32(isbn[i]) * (i+1);
    sum += int.Parse(isbn[i].ToString()) * (i + 1);
    }

    1. Minden String eleme az char típusú? (Amikor debuggal mentem, mindekttőnél megfigyeltem, hogy az isbn értéke az char, és nem string.

    2. int.Parse() argumentuma muszáj, hogy string legyen, ezért az isbn(i).ToString()-et kell alkalmazni, hogy stringgé konvertáljam, kérdésem, így a ez lassabb vagy gyorsabb-e mint a Convert.ToInt32? Illetve ezt a sebességet, hol lehet esetleg a VS-ben "megmérni"?

    3. Convert.ToInt32 az isbn(i) paramétert hogyan kezeli? (hogyan használja fel, a működése érdekelne), mert ő ezt így simán elfogadja szintaktikailag helyes, csak érdekel, hogy ezt a háttérben hogyan dolgozza fel.
    Valahol úgy olvastam, hogy meghívja rá az Int.ParseTry()-t ha igaz, akkor átkonvertálja (és állítólag ezért is lassabb, mint az int.Parse(). De még mielőtt az Int.ParseTry()-t meghívja előtte az isbn(i)-t átalakítja stringgé?
    :R

  • Lacces

    őstag

    Sziasztok!

    Jönnek a fórum kérdéseim:

    static void Main(string[] args)
    {
    int number = 0;
    int[] numbers = new int[1];

    m(number, numbers);

    System.Console.WriteLine("number is " + number + " and numbers[0] is " + numbers[0]);
    Console.ReadLine();


    }
    static void m(int x, int[] y)
    {
    x = 3;
    y[0] = 3;
    }

    Ennek a programnak a kimenet meglepett, próbáltam neten keresni a megoldás rá, hogy miért de nem esett le.
    Kimenet: number is 0 and numbers[0] is 3
    number=0, és numbers[0]=3.

    1.Miért? Hogy-hogy az egyiknél megtörtént az érték átadás a másiknál nem?

    a C# az int x, az ugye egy értéktípus?
    aztán néztem az msdn library-t és ott volt írva, hogy az int[] elemei nem más mint int típusú objektumok.

    Lehet, hogy itt van a lényeg elásva? Gondoltam itt arra, hogy nincs return így az int-nek nem adja vissza az értékét. de mivel az int[] object azért annak az értékét betudja állítani.
    Bár nem tudom, hogy ez a logika megállja-e a helyét?

  • Lacces

    őstag

    válasz stevve #2379 üzenetére

    Igen, a miértek érdekeltek, Jester válasza jól jött, mert 1 kivételével mindegyiknél tudtam rá a választ, az egyiknél meg nem voltam biztos :-)

    Személy szerint az első válasz: x>y>0, az átalakítás része, hogy (x>y) az egy bool érték (false/true) és az nem hasonlítható össze egy 0-al (néha előfordul, hogy a 0-t false-nak nézem be, vagy a C-s feltételekben, ahol a kiértékelés sosem false vagy true, hanem 0 vagy 1

  • Lacces

    őstag

    Hello!
    Van ez a feladat:

    int x
    int y

    Szabályos kifejezések-e a C#-ban ha x és y az int típusúak.

    x > y > 0
    x = y && y
    x /= y
    x or y
    x and y
    (x != 0) || (x = 0)

    Az én eredmény:
    Én egyedül csak az x/=y-t tartom szabályos kifejezésnek, az összes többi nem az.
    Vagy ha más is szabályos, akkor az miért?

    előre is köszi a válaszokat!

  • Lacces

    őstag

    válasz j0k3r! #2363 üzenetére

    Pontosan nem ez volt... én anno egy 20 perces ITFactory-s videoban láttam, de azt nem Tocsik csinálta, vagy is nem az ő hangja vol benne.

  • Lacces

    őstag

    válasz j0k3r! #2363 üzenetére

    Igen, erről hallottam, és láttam. Nem ez volt az, én még anno a stackoverflow fórumon lévő linkből volt, és weboldal. Lehet Tocsik is onnan vette. Néhány video tartalmat angolul is fel leltem másoknál :-D.

    És köszönöm a tanácsot!

  • Lacces

    őstag

    válasz stevve #2360 üzenetére

    Aham, így értem, akkor miért hasznos :)

    A linket is köszönöm, a design patterns-eket átnézem, azt tanulni kell. Úgy tűnik van még mit :)

    Ettől mindig frászt kapok, hogy valami létezik, és nem kell létrehozni...
    Eddig a konstruktorról tudtam, hogy defaultan létezik egy publikus változata. És ha azt private-á teszem nem lehet létrehozni újabbat.

    Staticnál nem tudtam, ott mindig létre volt hozva tutorialokban. Van még mit tanulni! Köszönöm szépen!

  • Lacces

    őstag

    válasz stevve #2356 üzenetére

    Aham, köszönöm szépen, ez az instance() nagyon érdekes. Még így sosem használtam.

    Fórumon volt egy kérdés: Hogyan lehet megakadályozni, hogy egy osztályból példányosítani lehet.
    Gondolom arra gondolt az illető, hogy objektumot ne lehessen létrehozni az osztályból.

    3. az jó, tetszik, egyszerű és pontos, rem nem baj ha lopom!

    Köszönöm mindenkinek a segítséget! :R

  • Lacces

    őstag

    válasz martonx #2357 üzenetére

    2.-hoz Megvan emléxem rá, char típusú volt! és úgy is volt msdn-en. de nem fogadták el.

    Az, hogy 32 bites, vagy 64 bites rá sem volt írva. Ez csak az int-nél számít? Most ez a téma érdekelni kezdett

    Amúgy meg a kérdések, olyan lettek volna, hogy néhányan kiröhögik ahogy meg volt fogalmazva, látszott rajta, hogy valaki olyan kérdezett, aki annyira nem ért hozzá. De tényleg nem az infós megfogalmazások voltak.

    Köszönöm a választ!

  • Lacces

    őstag

    válasz kispx #2355 üzenetére

    A statikus objektum-nál mindig kétségbe vagyok esve...
    Azt mégis mindig létre lehet hozni, és változik a tartalma osztály szinten. Abból csak létre lehet hozni 1-et (egyszer volt egy tutorial, ahol egy statikus csirke objektum volt, és annak az adati folyton változtak, én legalább is így emléxem rá, de ez már rég... 3-4éve volt), bár lehet többet nem, nem tudom.

    Haver mondta, hogy volt ilyen teszt kérdése, de fogalmam sincs, hogy minek ilyet kérdezni, mondjuk azért, hogy mennyire tudja a .net-et

    De most minek olyan osztályt létrehozni, ahol nem hozzok létre objektumot belőle?
    Akkor már abstract osztályt írnék...

    És köszönöm a tippet utána kérdezek!

  • Lacces

    őstag

    Ismét műxik a gép, ismét faggatom a prohardver kollegákat :)

    1. Kérdés, magamnak:
    Hogyan lehet .net-ben megakadályozni, hogy egy osztályból ne lehessen példányosítani? (objektumot létrehozni)

    Válasz: Privát konstruktor (esetleg van más is?, jó a válaszom)

    Megj.: angolul a példányosítás hogy van? (dont create object-el keresek rá)

    2. Kérdés, teszten volt

    Egy 3 elemű tömb mennyi helyet foglal a memóriában?
    (én 6Kb-ot írtam, mert egyszer rá kerestem, és az msdn-en volt írva, hogy 128 elemű tömb 256Kb-ot foglal el...)
    De nem tudom, hogy akkor jó-e a 6Kb-os válaszom, egy teszt kérdésnél

    3. Kérdés teszten volt
    Mi a különbség referencia és érték szerinti átadásnál?
    Válaszom: referencia szerinti átadásnál a memóriacímet (memóriahelyre hivatkozok)adom át egy változónak(adatnak, objektumnak), és mindig a memóricímen történik a változás. Több változó is mutathat ugyanarra a memória címre.
    Érték szerintinél, meg egy értéket adok át, azaz másolom a válozóban tárolt értéket.
    De nekem ezt a választ nem fogadták el...

    A válaszokat előre is köszönöm :) :R

  • Lacces

    őstag

    válasz fatal` #2274 üzenetére

    amargo, -Zeratul- , hunfatal köszönöm a segítséget!

    +1 -Zeratul-nak, köszönöm a részletes példát is! A példát lemásolnám magamnak, ha szabad! :)

    Tanulok én egyetemen C# és Java-t de a programozás gyakorlatát igyekszem most a nyári szünetben elsajátítani. És a Python-t javasolták nekem, amiből van egy jó jegyzet. Őszintén szólva, most kezdem felfogni a C# és Java objektum orientált működését is ezzel a nyelvvel, sőt még a C/C++-ot is.
    És a könyvben volt az írva, hogy objektumból alkotott objektum... Google-be beírtam, de konkrét találatott nem adott.

    Ez az eredeti Python példakód:
    A teljes példakód:
    # coding: iso-8859-2

    class Pont:
    "Egy matematikai pont definíciója"

    # Egy Pont objektum létrehozása
    p1=Pont()

    # Példány attribútomok vagy változok
    # Nem kell semmilyen konstruktor stb.
    p1.x=3.0
    p1.y=4.0


    # Objektumokból alkotott Objektum

    class Teglalap:
    "egy téglalap osztály definicója"

    doboz = Teglalap()
    doboz.szeles=50.0
    doboz.magas=40.0
    # Példányváltozó(sarok) egy Pont objektum
    doboz.sarok=Pont()
    doboz.sarok.x=12.0
    doboz.sarok.y=27.0

    És az egyetemen nem láttam ilyen példát még, nem is tanítottak, hogy egy olyan osztály objektumát tudom felhasználni egy másik objektumba, amelyek nincsenek származási viszonyban egymással.
    Öröklődésnél láttam ilyen példát. De így, hogy teljesen két független objektum, még nem!
    Ez nekem új volt!

  • Lacces

    őstag

    Sziasztok!

    Akkor ide teszem fel a kérdés, mert ezek szerint van :-) és létezik:

    Objektumból alkotott objektumot hogyan lehet létrehozni C#?

    Van egy adott pl:
    Téglalap objektumom.
    Ennek van egy mezője(példányváltozó), ami szintén egy objektum.

    Teglalap doboz = new Teglalap();
    doboz.sarok = new Pont() //talán.. a sarok példányváltozó egy pont objektum

    Esetleg erről linket tudnátok nekem küldeni? Angol is jó lesz. Hiába írom be a Google-be, mindig az alap object-oriented leírást kapom, és abban nem veszem észre, azt ami engem érdekel igazán. Példakód is jöhet. Nagyon érdekel a téma :) Python nyelvben tűnt ez fel nekem, ezelőtt sohasem. :R

Új hozzászólás Aktív témák

Hirdetés