c# foreach loop

Programovacie jazyky, rady, poradňa...
Duressae
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 244
Registrovaný: 20 feb 2017, 6:53
Bydlisko: KE
Kontaktovať používateľa:

c# foreach loop

Príspevok od používateľa Duressae »

Ahojte, chcel by som sa opytat ohladne c#. Je to asi tyzden co som sa ho zacal ucit a hned mi napadlo zeby som prerobil nejake XML feedy ktore nam robia problemy.

Vyparsoval som XML dokument a na opakovacie sa data som pouzil foreach loop.

Teraz ked vytvaram nove XML kde som pouzil schemu aj validne data ktore potrebujeme tak mi vsetky ostatne premene vypisuje krasne v tom novom XML ale tie ktore su zapisane v foreach loope tak tie mi pise: Variable cannot be declared in this scope because that name is used in an enclosing local scope to define a local or parameter.

priklad z mojho kodu
Skusal som aj taky malicky hack -
string FundingRef = " ";
if (funding.SelectSingleNode("FUNDING_REF") != null)
{
FundingRef = funding.SelectSingleNode("FUNDING_REF").InnerText;
Console.WriteLine(FundingRef);
}

toto mi vypise data z XML.
no a pri vytvarani noveho mam
grphdr.AppendChild(xdoc.CreateElement("MsgId")).InnerText = FundingRef;

Ak by som ten if vytiahol z foreachu samozrejme to pojde ale data ktore mi to vypisuje sa opakuju v origninalnom xml 16 krat.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8215
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: c# foreach loop

Príspevok od používateľa harrison314 »

Variable cannot be declared in this scope because that name is used in an enclosing local scope to define a local or parameter.
Znamena, ze mas premennu s tym istym nazvom deklarovanu aj mimo skopu (foreachu), jednu s nich premenuj a bude to vyriesne.
Napísať odpoveď