Loading...
Rexa14 avatar Rexa14 0 Точки

Печатане на триъгълник от 55 звездички

Направих го така:

  
           

for (int i = 1; i <= 10; i++) ;
{
    Console.WriteLine(new string('*',i));
}

 

дава ми грешка:     The name 'i' does not exist in the current context    

Направих го и така:

  {
            for (int row = 0; row <= 10; row++) 
            {
                for (int col = 0; col<row; col++)
                {
                    Console.Write('*');
                    {
                        Console.WriteLine();
                    }
                }
            }
        }

Получиха ми се 55 реда с по една *

 

Къде греша? В първото решение какво означава, че I не съществува в настоящия контекст?

Тагове:
0
Programming Basics 16/09/2016 09:16:05
gabi.ivanova avatar gabi.ivanova 370 Точки

Относно въпроса ти защо i не съществува, където се опитваш да го използваш - има нещо наречено scope, в който съществува една променлива или област на действие на променливата. В общи линии това е мястото, от където може да бъде достъпена по име. Scope-ът в C# се нества навътре, но и навън.

Нестване навътре: вътре в цикъла достъпваме променлива, която е декларирана извън него

int test = 1;

for(i = 0; i < 10; i++)
{
   test += i;
}

 

Нестване навън: ако гледаме горния пример - променливата i е дефинирана в тялото на цикъла и не може да се достъпо извън него. Тя живее само между  {  }  в които е дефинирана. Тоест ако декларираш други променливи вътре в тялото на цикъла, те ще живеят само там и в общия случай, не могат да се достъпват извън тяхната област на действие.

В твоя случай, както са ти казали колегите имаш ; след декларацията на цикъла, което в C# означава, че той приключва без тяло. Следователно променливите декларирани в него, не могат да се достъпват извън цикъла.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.