TOC

This article is currently in the process of being translated into Bulgarian (~99% done).

The Basics:

Variables

Променливата може да бъде оприличена на склад и е жизнено необходима за програмиста. В C# променливата се декларира така:

<тип> <име>;

Ето един пример:

string name;

Това е най-простият вид декларация при която променливата все още няма стойност. Стойността може да се добави на по-късен етап или още по време на деклариране на променливата, ето така:

<data type> <name> = <value>;

Ако променливата не е локална за метода, в който текущо работим (например променлива на клас), може да искаме да добавим област на видимост на променливата:

<видимост> <тип> <име> = <стойност>;

Ето завършения пример:

private string name = "John Doe";

Областта на видимост на променливите е свързана с класовете, така че можете да получите по-подробна информация за нея в главата за класове. Нека се върнем към базовата декларация на променливи с един пример:

using System;

namespace ConsoleApplication1
{
    class Program
    {
static void Main(string[] args)
{
    string firstName = "John";
    string lastName = "Doe";

    Console.WriteLine("Name: " + firstName + " " + lastName);

    Console.WriteLine("Please enter a new first name:");
    firstName = Console.ReadLine();

    Console.WriteLine("New name: " + firstName + " " + lastName);

    Console.ReadLine();
}
    }
}

В примера най-напред декларираме две променливи от тип string. Типът string съдържа обикновен текст, както ясно се вижда от присвоените на променливите стойности. След това извеждаме един ред текст на конзолата, използвайки присвоените стойностти на двете променливи. Изходният текст е получен чрез оператора +, който слепва стринговете от променливите и допълнителни стрингове.

Подканяме потребителя да въведе ново име и използваме метода ReadLine() за прочитане на името и запазването му в променливата firstName . След като потребителят натисне клавиша Enter , новото име се запазва в променливата firstName и на следващия ред отново извеждаме промененото име. С примера показваме най-важното свойство на променливите - способноста им да променят стойностите си по време на изпълнение на програмата (runtime).

Друг пример - извършване на пресмятания. Примерът много прилича на предишния:

int number1, number2;

Console.WriteLine("Please enter a number:");
number1 = int.Parse(Console.ReadLine());

Console.WriteLine("Thank you. One more:");
number2 = int.Parse(Console.ReadLine());

Console.WriteLine("Adding the two numbers: " + (number1 + number2));

Console.ReadLine();

Поставете кода във вашия Main метод. Новото тук е използването на метода int.Parse(), който прочита стринг и го превръща в цяло число. В примера не се проверява какво е въведено от потребителя и ако се въведе нещо, което не е число,ще бъде хвърлено изключение (съобщение за грешка), но за това по късно.

Променливи и обхват (обсег) на променливите

Дотук работихме само с локални променливи, т.е. променливи дефинирани и използвани в един и същ метод. В C# променливите, дефинирани вътре в един метод не могат да бъдат използвани извън този метод, ето защо такива променливи наричаме локални. В някой други езици за програмиране съществуват и глобални променливи, които могат да бъдат достъпвани навсякъде в програмат, но C# не подържа такива. Вместо това можете да дефинирате статични променливи на клас, които могат да бъдат използвани от всички методи на класа.

using System;

namespace VariableScope
{
    class Program
    {
private static string helloClass = "Hello, class!";

static void Main(string[] args)
{
    string helloLocal = "Hello, local!";
    Console.WriteLine(helloLocal);
    Console.WriteLine(Program.helloClass);
    DoStuff();
}

static void DoStuff()
{
    Console.WriteLine("A message from DoStuff: " + Program.helloClass);
}
    }
}

Забележете променливата helloClass, която е декларирана в рамките на класа, а не вътре в някой метод ( Main() или DoStuff() ). За сравнение променливата helloLocal е в метода Main() и затова може да бъде използвана само от този метод.

Определянето на обхвата (областа) в която променливите са декларирани и могат да се използват се нарича scoping. Това е важна концепция, предпазваща програмния код от объркване на използваните променливи. Друга техника за предпазване е т.нар. visibility (видимост) - в случая приложена с ключовата дума "private". Това ще бъде обсъдено по-късно в главата за класовете.

Обобщение

Променливите служат за съхраняване на данни от произволен вид, например текст, число или нещо друго. Те биват локални променливи, които са достъпни вътре в метода, в който са дефинирани или променливи на клас, които са достъпни за всички методи на класа, или даже извън класа, ако видимостта им (visibility) позволява това.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!