[C#] Megavlákno

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod JanFiala 16. 1. 2022 13:40

Koukám, že už tu máme pár dalších stránek s řešením 3 radkoveho zadání a několika řadkového programu.
JanFiala
Expert
Uživatelský avatar

Odeslat příspěvekod Wikan 16. 1. 2022 13:40

Inu, ani "array[]" se to pole nejmenuje.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod JanFiala 16. 1. 2022 13:43

A tohle je povazovano za pricteni k prvkům pole:

Kód: Vybrat vše
for (int i = 0; i < 5; i++)
    array[i] = i + 1;
JanFiala
Expert
Uživatelský avatar

Odeslat příspěvekod Alesh2020 16. 1. 2022 13:46

Kód: Vybrat vše
using System;

namespace ConsoleApp13
{
    class Program
    {
        static void Main(string[] args)
        {

            var array = new int[5];
            for (var i = 0; i < array.Length; i++)
                array[i] = 1;
            // Console.Write("{0} ", array[i]);
            string i = array[].ToString();
            foreach (var i in array[0])
            {
                Console.WriteLine(i.ToString());
            }
        }
    }
}



Jo, ale teď nastane hromada errorů, ale předtím mu zase vadilo, že "Příkaz foreach nejde použít pro proměnné typu int, protože int neobsahuje veřejnou definici instance nebo rozšíření pro GetEnumerator.". :hm
Ách jo, kam si má teda člověk psát poznámky... :hm
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 16. 1. 2022 13:52

Ach jo. Ani "array[0]" se to pole nejmenuje.
K čemu tam máš řádek "string i = array[].ToString();", je mi taky záhadou.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Alesh2020 16. 1. 2022 13:58

Ach jo. Ani "array[0]" se to pole nejmenuje.
> tak co tam teda patří?

K čemu tam máš řádek "string i = array[].ToString();", je mi taky záhadou.
> protože mi to tam řvalo "Příkaz foreach nejde použít pro proměnné typu int, protože int neobsahuje veřejnou definici instance nebo rozšíření pro GetEnumerator." a když sem googlil řešení, google mi navrhnul toto:

https://stackoverflow.com/questions/308 ... -to-string

„Dělat co nejvíce chyb je pro růst důležitější než žádné chyby nedělat,“ pravil jeden moudrý muž. Oním jedním mužem není nikdo jiný než jeden z nejbohatších lidí planety Bill Gates"
Ách jo, kam si má teda člověk psát poznámky... :hm
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 16. 1. 2022 14:02

Kód: Vybrat vše
var array = new int[5];

Co na tom řádku je název proměnné obsahující pole?
google mi navrhnul toto

A jsme zase u toho. Je zcela v pořádku googlit řešení a pak ho použít. Ale už není v pořádku ho použít bez toho, aby ses nad ním zamyslel. Jinak bys totiž přišel na to, že řeší něco úplně jiného.

Dělat co nejvíce chyb je pro růst důležitější než žádné chyby nedělat

S tím se dá souhlasit. Ovšem jenom v případě, že se ten člověk z chyb dokáže poučit. Což vážně není tvůj případ.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Alpha8520 16. 1. 2022 14:03

Jak chceš proboha procházet cyklem přes jediný prvek?
array[0] odkazuje na nultý prvek pole array, ty chceš snad procházet cyklem přes celé pole nebo ne?
A jak psal Wikan, další chyba je toto

string i = array[].ToString(); => k ničemu, smazat!
Alpha8520
Junior

Odeslat příspěvekod JanFiala 16. 1. 2022 14:09

Aspon vidíš, že vygooglit a pastnout nějaký kód je jednoduché. Ale napsat 3 řádky, aby ten kód dělal to, co potřebuješ už tak jednoduché není. A o to těžší je to v případě, kdy ani nevíš, jak se deklaruje proměnná a jak ty cykly vlastně použít.

Takže zopakuju. Základy jazyka jako deklarace proměnných, cykly, podmínky musíš psát z hlavy bez zadrhnutí a bez chyb. Pokud nezvládneš ani tohle, pak nemá smysl se zdržovat nějakými metodami a rozebírat viditelnost. To si nech na dobu, až budeš zvládat základy.
Co můžeš udělat dnes, odlož na včerejšek
JanFiala
Expert
Uživatelský avatar

Odeslat příspěvekod Alesh2020 16. 1. 2022 14:28

Kód: Vybrat vše
using System;

namespace ConsoleApp13
{
    class Program
    {
        static void Main(string[] args)
        {

            var array = new int[5];
            for (var i = 0; i < array.Length; i++)
                array[i] = 1;
            // Console.Write("{0} ", array[i]);
            // string i = array[].ToString();
            foreach (var i in array[0])
            {
                Console.WriteLine(i.ToString());
            }
        }
    }
}


No dobrá, a jak teda pořešit tento problém: Příkaz foreach nejde použít pro proměnné typu int, protože int neobsahuje veřejnou definici instance nebo rozšíření pro GetEnumerator.
Ách jo, kam si má teda člověk psát poznámky... :hm
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 16. 1. 2022 14:36

Ani "array[0]" se to pole nejmenuje.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Alpha8520 16. 1. 2022 14:57

Podívej se na můj příspěvek a pak se podívej na svůj foreach cyklus. Pokud ti to nedojde, odinstaluj VS a už ho nikdy neinstaluj.
Alpha8520
Junior

Odeslat příspěvekod JanFiala 16. 1. 2022 20:24

Alesh2020 píše:No dobrá, a jak teda pořešit tento problém: Příkaz foreach nejde použít pro proměnné typu int, protože int neobsahuje veřejnou definici instance nebo rozšíření pro GetEnumerator.


Proc ses misto obycejneho For cyklu rozhodl pouzit for each? Zase odnekud vykopirovane bez toho, ze bys tusil, co to dela?
JanFiala
Expert
Uživatelský avatar

Odeslat příspěvekod Alesh2022 21. 1. 2022 14:08

Tak to bylo v sample na webovce, kam chodím.

Jo, přišel jsem o heslo k účtu a k mejlu, tak sem si musel udělat novej účet.
wo
Alesh2022
Junior
Uživatelský avatar

Odeslat příspěvekod JanFiala 21. 1. 2022 16:29

Alesh2022 píše:Tak to bylo v sample na webovce, kam chodím.


Proč nějaké "samply" z webovek, když bys měl být schopný to psát z hlavy a bez přemýšlení?

Pokud si pamatuju, psal jsi neco o elektrikáři. Zaměstnal bys elektrikáře, který není schopný bez 2-denniho studování na internetu zapojit zásuvku a ještě u toho bude řešit, jestli dráty do krabice vedou zleva nebo shora? A když už to konečně s pomocí několika lidí kolem slavnostně zapojí, takbu další zasuvky se bude opakovat to samé?
JanFiala
Expert
Uživatelský avatar

Předchozí stránkaDalší stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků