• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    TOOMIX
    TOOMIX --- ---
    BRAP242: mas zdrojaky? Visual Stuido by to melo umet standardne
    BRAP242
    BRAP242 --- ---
    Zdar, dotaz: potrebuju vyladit .NET famework applikaci - nemate nekdo tip na nejakej profiller kterej mi zmeri kolik trvaj jednotlivy volani pri spusteni nejaky akce?

    jedna se o .NET 4.8 WinForms applikaci.
    URZA
    URZA --- ---
    Our favorite things in .NET 8 - David Fowler & Damian Edwards - NDC Sydney 2024
    https://www.youtube.com/watch?v=V_eRvgl5sVg
    PLACHOW
    PLACHOW --- ---
    Nick má vždy poněkud bulvární nadpisy :)
    URZA
    URZA --- ---
    TOOMIX: Hello everybody, I am naked 😆
    TOOMIX
    TOOMIX --- ---
    The Insane C# 13 Feature That Changes Everything
    https://www.youtube.com/watch?v=ueO5Cb3Emcw
    TOOMIX
    TOOMIX --- ---
    Swagger is Going Away in .NET 9!
    https://www.youtube.com/watch?v=8xEkVmqlr4I
    TOOMIX
    TOOMIX --- ---
    NECROMAN: super, to jsem vubec nevedel :)
    NECROMAN
    NECROMAN --- ---
    TOOMIX: Visual Studio to umí přímo built-in :)
    Paste JSON or XML as classes - Visual Studio (Windows) | Microsoft Learn
    https://learn.microsoft.com/en-us/visualstudio/ide/reference/paste-json-xml?view=vs-2022
    TOOMIX
    TOOMIX --- ---
    Kdybyste někdy potřebovali z JSONu vygenerovat třídy pro C#, tak tady je na to nástroj. Vrazíte json, vypadnou třídy.

    Convert JSON to C# Classes Online - Json2CSharp Toolkit
    https://json2csharp.com/
    FONTAN
    FONTAN --- ---
    VITI: anektodicky bych rekl, ze jako s manzelkou - casto me prekvapi.

    casto pozitivne a casto negativne (zejmena kdyz se rozhodne navrhnout nejaky sileny wall of code, ktery vubec nedava smysl)
    SAJAGI
    SAJAGI --- ---
    VITI: Jak kdy. Používám Rider Experimental + Copilot, primárně F#, a zkušenosti se dost liší podle toho, jak se celý ekosystém zrovna vyspí. I v horších dnech ale dokáže výrazně ušetřit práci. Navzdory četným memům ani ne tak v generování implementací, ale spíš v generování komentářů, analogických test casů, apod.
    VITI
    VITI --- ---
    BTW jak se vam spolupracuje s copilotem?
    TOOMIX
    TOOMIX --- ---
    RUTHAN: hodnotu dostaneš jednoduše

    string a = datatable.Rows[0]["Sloupec"].ToString()

    kde 0 je index řádku v tabulce a "Sloupec" je název slopce v datatable, případně to můžeš nahradit indexem. A do Select() metody jdou psát podmínky

    c# - Datatable select with multiple conditions - Stack Overflow
    https://stackoverflow.com/questions/1990946/datatable-select-with-multiple-conditions
    RUTHAN
    RUTHAN --- ---
    TOOMIX: Ja jsem na to koukal a ani to jsem to ted nepotreboval, takze spis ze by se mi to nekdy mohlo hodit..

    Ja tam, ale tu moznost vratit fakt jen 1 radek nikde nevidim/ nerozumim.. Aspon te tu, ktera by mi chodila, bez toho abych si to celou tu celou data table predtim nevysipat do dalsiho pole nebo neprochazel for each cyclem jako pole..

    A ty dalsi priklady, jmeno sloupce prece neni cislo radku. Nebo co mi unika?

    Mimochodem, kdyz zkusim tohle, coz taky jestli tomu spravne rozumim nejdriv vsechno nacte foreach cyclem..
    foreach (DataRow row in Sheet2.Select())
    {
    Console.WriteLine(row[0].ToString());
    Console.WriteLine(row[1].ToString());
    }
    Tak taky nedostanu cely radek, ale zda se vypis vsech hodnot z prvniho sloupce. Mozna je potreba jen tomuto selectu specifikovat spravny odelovat sloupcu? Se kterym si to ale jinak poradi, pouzivam stredik, ty aliasy z hlavicky fungujou skvele, takze tam autodetece odelovane funguje.

    Jeste jsem se na to dival..
    Kdyz se neco jmenuje row, tak bych cekal, ze to cislo v indexu je cislo radku, ktery chci.. // Ale on ve skutecnosti ten parametr znamena aspon nejakych prikladu sloupec.. ne cislo radku.. - nebo radek, kterymu dam index sloupce a vrati mi tu hodnotu v jedne jeho bunce.

    Datatable.rows - dle popisu rika, ze to vrati colleci radek - coz je mozna ten problem, collece znamena, ze je to urceny pro vic jak jeden 1 radek (slozitejsi object nez 1 string) a tim padem z toho hodnotu jednoho radku, coz je na co se ptam dostanu, az dalsich rozparsovanim.. nikoliv primo, coz je to co jsem hledal, nebo jsem si myslel, ze to puvodne dela.. oproti tomu, kdyz si ty csv data nactu jinak, do blbyho 2D textovyho pole, s radky muzu pracovat naprimo tak jsem to delal predtim, nez jsem pouzil tu datatable.
    TOOMIX
    TOOMIX --- ---
    RUTHAN:

    Ano, var x = datatable.Rows[0] vrátí první řádek. Pak už s tím děláš jen jako s x["Sloupec"].ToString() nebo x[2].ToString()

    Jestli to chceš globálně, dej si to jako statickou metodu a statickou proměnnou do statické třídy.


    Ale tohleto všechno se dá najít za pár vteřin googlení

    Get value of datarow in c# - Stack Overflow
    https://stackoverflow.com/questions/6497867/get-value-of-datarow-in-c-sharp
    RUTHAN
    RUTHAN --- ---
    Nebojte, me uz to az na 1 sloupec bez kteryho preziju funguje, takze tady uz pak zase nebudu otravovat :) Pomohli Toomix mi pomoh s tim hlavnim, ted bych to mohl jen udelat o trochu min prasacky..
    SADSOUL
    SADSOUL --- ---
    Unbook
    RUTHAN
    RUTHAN --- ---
    RUTHAN: Samozrejme muzu si to vymenovat, pres novy nacitani a zapisovani toho souboru, pokud by to jinak neslo.
    RUTHAN
    RUTHAN --- ---
    TOOMIX: To csv si muzu upravit, takze tam ty nazvy sloupcu uz mam.

    Ale porad se mi nedari dostat se k tem datum na radku, porad mi to vraci jen - System.Data.DataRow :
    Console.WriteLine("Data table: " + Sheet2.Rows[2].ToString());
    nebo
    string vyhnis = Sheet2.Rows[2].ToString();
    Console.WriteLine("Data table: " + vyhnis);
    K bunce se pres Console.WriteLine("Data table: " + Sheet2.Rows[2]["name"]); // Dostanu v pohode, cili na tom radku data jsou

    --------
    2) Pak jeste objektovy dotaz, ted mam v projektu tu metodu, pro vytvareni data table.. pak si v jiny metode vytvorim jeji objekt pres:
    DataTable Sheet2 = ConvertCSVtoDataTable(OutPutFilename);

    Ale hodilo by se mi udelat nejaky globalni DataTable object jestli to jde, tam bych mohl pres vic metod, pokud to nejde, tak si nejak mezi tema metodama jako vstupni parameter prehazovat, abych nemel dlouhej spahetgi kod.
    Mam prazdny projekt consolovou aplikaci s Mainem, zkousel jsem to dat hned po class, ale jako nejaky string.. ale tam dostavam hlasku, ze to neni staticky object.. Zkousel jsem v mainu definovat instanci:
    DlGenerator Instance = new DGenerator();
    Instance.ConvertCSVtoDataTable(OutPutFilename); // Ale to taky neni to prave.
    Kliknutím sem můžete změnit nastavení reklam