Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: C# - volání metod a tříd

Aktivity
Avatar
gripen wo.cz
Člen
Avatar
gripen wo.cz:11.10.2021 8:11

Potřeboval bych nějak poradit, jak poslepovat program, který je složený z několika tříd a metod. V mé učebnici/knize je vždy odstavec/kapitola, kde je rozepsán kus kódu, ale není to "all in one", aby člověk viděl, jak to dát celé dohromady.

Pro autora to možná je jak nakrájet mrkev do polívky, ale když někdo začíná, hodil by se mu - aspoň jeden - vzorový (a kompletní) ukázkový kód.

Některé z těch tříd jsou totiž součástí knihy, jsou tudíž "vlastnoruční", nejsou klasickou součástí, např. třída "Text" https://ibb.co/dKXqPnj

Zkusil jsem: Najít řešení v knize.

Chci docílit: Vyřešit problém.

 
Odpovědět
11.10.2021 8:11
Avatar
JerryM
Člen
Avatar
JerryM:11.10.2021 10:12

sice asi neikdo nechápe co chceš ale když si vytvoříš v projektu třídu s názvem Classes.cs tak do ni do namespace se stejným názvem jako má hlavní projekt mužeš naskládat seznam všech tříd (class) se kterými budeš pracovat a pak je mužeš příkazem new z hlavní třídy vytvořit a používat, nezpomeň případně v hlavním programu použít vložení jmenného prostoru "using mujjmennyprostor" nebo něco podobného

 
Nahoru Odpovědět
11.10.2021 10:12
Avatar
gripen wo.cz
Člen
Avatar
gripen wo.cz:11.10.2021 11:40

Dobře, a jak bys teda poslepoval tohle?
https://postimg.cc/TLgMz6DJ

 
Nahoru Odpovědět
11.10.2021 11:40
Avatar
gripen wo.cz
Člen
Avatar
gripen wo.cz:11.10.2021 13:20

Mám totiž následující kód:

using System;

namespace sortingslov
{
    class Program
    {
        static void Main(string[] args)
        {
            Analyzator analyzator = new Analyzator();
            Slovnik slovnik = new Slovnik();
            string radka = Console.ReadLine();

            while (radka != null)
            {
                radka = radka.Trim();
                analyzator.Analyzuj(radka, slovnik);
                radka = Console.ReadLine();
            }
            slovnik.Serad();
            slovnik.Vypis();
        }

A dostávám tyto faily:
CS0246 Typ nebo název oboru názvů Analyzator se nenašel. (Nechybí direktiva using nebo odkaz na sestavení?)
CS0246 Typ nebo název oboru názvů Slovnik se nenašel. (Nechybí direktiva using nebo odkaz na sestavení?)

Samozřejmě mi došlo, že program řve, že nemá tu "třídu" (nebo mám napsat typ třídy?), ale nevím, jak mu ji pobídnout.

 
Nahoru Odpovědět
11.10.2021 13:20
Avatar
gripen wo.cz
Člen
Avatar
gripen wo.cz:11.10.2021 14:08

Takle např. vypadá třída Slovnik

using System;

namespace analyza
{
    class Slovnik
    {
        private List<string> slova = new List<string>();

        public void Vloz(string slovo)
        {
            if (!slova.Contains(slovo))
            {
                slova.Add(slovo);
            }
        }

        public void Vypis()
        {
            foreach (string slovo in slova)
            {
                Console.WriteLine(slovo);
            }
        }

        public void Serad() => slova.Sort();
    }
}

Jak ji namapovat k té metodě Main?

 
Nahoru Odpovědět
11.10.2021 14:08
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.