IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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í.
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 Hartinger
Vlastník
Avatar
Odpovídá na Vadym Stižko
David Hartinger: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
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
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 Hartinger
Vlastník
Avatar
Odpovídá na Vadym Stižko
David Hartinger: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
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
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 Hartinger
Vlastník
Avatar
Odpovídá na Vadym Stižko
David Hartinger: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
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
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 Hartinger
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 Hartinger
Vlastník
Avatar
Odpovídá na nickname01
David Hartinger: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
New kid back on the block with a R.I.P
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í
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
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.