C# týden C# týden
Pořádné programy s pořádnou klávesnicí zdarma. Více zde
Pouze tento týden sleva až 80 % na C# .NET
Avatar
Vadym Stižko:16.5.2018 18:44

Dobrý večer,

List<string> testStringList = new List<string>();
testStringList.Add("Ahoj");
testStringList.Add("Cau");
testStringList.Add("Zidle");
testStringList.Add("Kocka");
char[] testChar = new char[testStringList.Count()];
testChar = testStringList[0].ToCharArray();
testChar = testStringList[1].ToCharArray();
testChar = testStringList[2].ToCharArray();
testChar = testStringList[3].ToCharArray();


Console.WriteLine(testChar[0]);
Console.WriteLine(testChar[1]);
Console.WriteLine(testChar[2]);
Console.WriteLine(testChar[3]);

Chci aby mi to vypsalo:
A
C
Z
K
Bohužel mi to nefunguje. Nějak nevím, co dělám špatně. Děkuji za každou radu.

 
Odpovědět 16.5.2018 18:44
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Vadym Stižko
David Čápka:16.5.2018 19:05

Ten kód je trochu podivný, bylo by lepší říct co chceš, aby to dělalo a proč. Vypsat první písmena můžeš i nějak takhle:

List<string> testStringList = new List<string>();
testStringList.Add("Ahoj");
testStringList.Add("Cau");
testStringList.Add("Zidle");
testStringList.Add("Kocka");
Console.WriteLine(testStringList[0][0]);
Console.WriteLine(testStringList[1][0]);
Console.WriteLine(testStringList[2][0]);
Console.WriteLine(testStringList[3][0]);
Nahoru Odpovědět 16.5.2018 19:05
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Odpovídá na David Čápka
Vadym Stižko:16.5.2018 19:13

Mám kolekci List ve stringu. v ní mám hodnoty. V našem případě: ahoj,cau atd. Potřebuji abych si pokaždé vzal první znak z hodnoty. Ten znak si uložím a porovnám si ho s druhou proměnnou typu string, kde si také vezmu první znak.
Bohužel jsem se zasekl na tom, že mi z
listu<string> nechce ukládat první písmeno do pole char[] .

Editováno 16.5.2018 19:14
 
Nahoru Odpovědět 16.5.2018 19:13
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Vadym Stižko
David Čápka:16.5.2018 19:16

Ano, to jsi popsal ten kód. Ale proč to děláš? Jak jsem ti napsal výše, ta pole pro tuto úlohu vůbec nepotřebuješ.

Nahoru Odpovědět 16.5.2018 19:16
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Odpovídá na David Čápka
Vadym Stižko:16.5.2018 19:19

Píšu jednu aplikaci na komunikaci s databází a hodnoty z databáze se mi ukládají do listu. Bylo by asi zdlouhavé vypisovat celý kód a proto jsem napsal část kódu, kde mám problém.

 
Nahoru Odpovědět 16.5.2018 19:19
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Vadym Stižko
David Čápka:16.5.2018 19:20

Koukám, že rozumný důvod z tebe nedostanu. Zkusil jsem to. Tvůj kód uprav nějak takhle:

char[] testChar = new char[testStringList.Count];
testChar[0] = testStringList[0].ToCharArray()[0];
testChar[1] = testStringList[1].ToCharArray()[0];
testChar[2] = testStringList[2].ToCharArray()[0];
testChar[3] = testStringList[3].ToCharArray()[0];

Ideálně si výsledek ToCharArray() lokálně uložit, abys to nepřeváděl tak hloupě pořád dokola.

Editováno 16.5.2018 19:43
Nahoru Odpovědět 16.5.2018 19:20
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Odpovídá na David Čápka
Vadym Stižko:16.5.2018 19:27

To bohužel nefunguje.

 
Nahoru Odpovědět 16.5.2018 19:27
Avatar
nickname01
Člen
Avatar
Odpovídá na David Čápka
nickname01:16.5.2018 19:27

Pokud vím, tak List<string> neobsahuje nic jako "ToCharArray()"

 
Nahoru Odpovědět 16.5.2018 19:27
Avatar
nickname01
Člen
Avatar
Odpovídá na nickname01
nickname01:16.5.2018 19:32

Teda pokud používáte jen .Net framework a nenapíšete si rozšiřující metodu

 
Nahoru Odpovědět 16.5.2018 19:32
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na nickname01
David Čápka:16.5.2018 19:44

Máš pravdu, chyběl mi tam indexer. Jdu si to raději zkusit založit, původní příspěvek jsem upravil, případně upravím. Jak to funguje neřeším, dělám to jak to on chtěl.

Už je to ok.

Editováno 16.5.2018 19:47
Nahoru Odpovědět 16.5.2018 19:44
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
HONZ4
Člen
Avatar
Odpovídá na Vadym Stižko
HONZ4:16.5.2018 23:30

Odpověď na požadavek:

List<string> testStringList = new List<string>();
testStringList.Add("Ahoj");
testStringList.Add("Cau");
testStringList.Add("Zidle");
testStringList.Add("Kocka");
//Chci aby mi to vypsalo:
//A
//C
//Z
//K
foreach(var str in testStringList)
{
  if (!string.IsNullOrEmpty(str)) Console.WriteLine(str[0]);
}
Console.ReadKey();

Řešení s polem (zbytečným):

List<string> testStringList = new List<string>();
testStringList.Add("Ahoj");
testStringList.Add("Cau");
testStringList.Add("Zidle");
testStringList.Add("Kocka");

char[] testChar = new char[testStringList.Count];

for (int i = 0; i < testStringList.Count; i++)
{
  if (!string.IsNullOrEmpty(testStringList[0]))
  {
    testChar[i] = testStringList[i][0];
  }
  Console.WriteLine(testChar[i]);
}
Console.ReadKey();
Editováno 16.5.2018 23:32
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +1 16.5.2018 23:30
Avatar
HONZ4
Člen
Avatar
HONZ4:16.5.2018 23:45

na řádku
if (!string.IsNu­llOrEmpty(tes­tStringList[0]))
mám chybu. Oprava:
if (!string.IsNu­llOrEmpty(tes­tStringList[i]))

 
Nahoru Odpovědět 16.5.2018 23:45
Avatar
Odpovídá na HONZ4
Vadym Stižko:17.5.2018 8:00

Díky moc! :-)

 
Nahoru Odpovědět 17.5.2018 8:00
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 13 zpráv z 13.