C# Променливи & Operaторове с пример

⚡ Умно обобщение

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

  • 📦 Променливи: Променливата е именувана област за съхранение, чийто тип данни определя размера, оформлението и валидните операции за нейната стойност.
  • 🔤 Декларация: Декларирането на String и Int32 показва как C# съхранява текст и цели числа, след което ги отпечатва с Console.Write.
  • Operaтор групи: Аритметичните, релационните и логическите оператори обхващат математически операции, сравнения и булеви проверки, които управляват програмните решения.
  • 🧮 Присвояване и побитово: Съставни оператори, като например „плюс-равно“, съкращават актуализациите, докато побитовите оператори работят с отделните битове на целочислените стойности.
  • 🔢 Приоритет: OperaПриоритетът и асоциативността на инструмента определят реда, в който C# оценява частите на сложен израз.
  • 🤖 AI помощ: GitHub Copilot и ML.NET помагат за генериране на декларации на променливи, логика на оператори и съпоставяне на стойности с функции за машинно обучение.

C# Променливи и Operaтори

C# променливи

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

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

Например, ако имахме целочислена променлива, тогава операции като събиране и изважданеtracВърху променливата може да се извърши действие. В една програма могат да се декларират множество променливи.

Нека да разгледаме бърз пример за деклариране на множество променливи от различни типове данни.

В нашия пример ще дефинираме две променливи, едната от типа „низ“, а другата от типа „Цяло число“. След това ще покажем стойностите на тези променливи на конзолата. За всеки пример ще модифицираме само основната функция в нашия файл Program.cs.

C# променливи

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program 
 {
  static void Main(string[] args) 
  {
   String message="The value is ";
   Int32 val=30;
   
   Console.Write(message+val);
   Console.ReadKey();
  }
 }
}

Code Обяснение:

  1. Декларира се променлива от типа данни String. Името на променливата е 'message'. Стойността на променливата е „Стойността е “.
  2. Декларира се променлива от типа данни Integer (Int32). Името на променливата е 'val'. Стойността на променливата е 30.
  3. Накрая операторът Console.write се използва за извеждане както на стойността на променливата String, така и на Integer.

Ако горният код е въведен правилно и програмата е изпълнена успешно, ще се покаже следният изход.

Изход:

C# променливи

От изхода можете да видите, че стойностите както на низовата, така и на целочислената променлива се показват на конзолата.

След като променливите могат да съдържат стойности, следващата стъпка е да се действа въз основа на тези стойности. OperaОператорите се използват за извършване на операции със стойности от различни типове данни. Например, за да се извърши събиране на 2 числа, се използва операторът +.

Нека видим таблицата с оператори, налични за различните типове данни.

C# Operaтори

аритметика Operaтори

Това са оператори, използвани за извършване на математически операции с числа. По-долу е даден списък с оператори, налични в C#.

OperaTor Descriptйон
+ Добавя два операнда
- Подtracts е вторият операнд от първия
* Умножава и двата операнда
/ Дели числителя на числител
% Модул Operator и остатък от след целочислено деление
++ Операторът за увеличаване увеличава целочислената стойност с единица
- Операторът за намаляване намалява целочислената стойност с единица

Релационна Operaтори

Това са оператори, използвани за извършване на релационни операции върху числа. По-долу е списъкът с релационни оператори, налични в C#.

OperaTor Descriptйон
== Проверява дали стойностите на два операнда са равни или не, ако да, тогава условието става вярно.
!= Проверява дали стойностите на два операнда са равни или не, ако стойностите не са равни, тогава условието става вярно.
> Проверява дали стойността на левия операнд е по-голяма от стойността на десния операнд, ако да, тогава условието става вярно.
< Проверява дали стойността на левия операнд е по-малка от стойността на десния операнд, ако да, тогава условието става вярно.
>= Проверява дали стойността на левия операнд е по-голяма или равна на стойността на десния операнд, ако да, тогава условието става вярно.
<= Проверява дали стойността на левия операнд е по-малка или равна на стойността на десния операнд, ако да, тогава условието става вярно.

логичен Operaтори

Това са оператори, използвани за извършване на логически операции върху стойности. По-долу е списъкът с оператори, налични в C#.

OperaTor Descriptйон
&& Това е логическият оператор И. Ако и двата операнда са верни, тогава условието става истина.
|| Това е логическият оператор ИЛИ. Ако някой от операндите е верен, тогава условието става вярно.
! Това е логическият оператор НЕ.

Нека разгледаме един бърз пример за това как операторите могат да се използват в .NET.

В нашия пример ще дефинираме 2 целочислени променливи и една булева променлива. След това ще извършваме аритметични, релационни и логически операции върху тях.

C# Operaтори

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program 
 {
  static void Main(string[] args) 
  {
   Int32 val1 = 10,val2 = 20;
   bool status = true;
   
   Console.WriteLine(val1 + val2);
   Console.WriteLine(val1 < val2);
   Console.WriteLine(!(status));
   Console.ReadKey();
  }
 }
}

Code Обяснение:

  1. Дефинирани са две целочислени променливи, едната е val1, а другата е val2. Те ще бъдат използвани за демонстриране на релационни и аритметични операции. Булева променлива е дефинирана за демонстриране на логически операции.
  2. Показан е пример за аритметична операция, при която операторът за добавяне се извършва върху val1 и val2. Резултатът се записва в конзолата.
  3. Показан е пример за релационна операция, при която операторът по-малко от се изпълнява върху val1 и val2. Резултатът се записва в конзолата.
  4. Показан е пример за логическа операция, при която логическият оператор (!) се прилага към променливата на състоянието. Логическият оператор NOT обръща текущата стойност на всяка булева стойност. Така че, ако булева стойност е „true“, логическото НЕ ще върне стойността „false“ и обратно. В нашия случай, тъй като стойността на променливата на състоянието е „true“, резултатът ще покаже „false“. Резултатът се записва в конзолата.

Ако горният код е въведен правилно и програмата е изпълнена успешно, изходът ще се покаже.

Изход:

C# Operaтори

Задание по C# Operaтори

Операторите за присвояване съхраняват резултата от израз в променлива. Основният оператор за присвояване е единичният знак за равенство, а C# предоставя и съставни оператори, които комбинират присвояване с аритметична или побитова операция. Тези съкратени форми правят операторите за актуализиране кратки и лесни за четене.

OperaTor Descriptйон
= Присвоява стойността на десния операнд на левия операнд
+= Добавя десния операнд към левия операнд и присвоява резултата
-= Подtracизвлича десния операнд от левия операнд и присвоява резултата
*= Умножава двата операнда и присвоява резултата на левия операнд
/= Дели левия операнд на десния операнд и присвоява резултата
%= Взема модула на двата операнда и присвоява остатъка на левия операнд

Например, записването на count += 5 е по-кратък начин за записване на count = count + 5. Съставните оператори за присвояване работят с всеки аритметичен оператор, както и с побитовите оператори, така че те често се появяват в цикли и броячи, където стойността се актуализира многократно.

C# побитово Operaтори

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

OperaTor Descriptйон
& Побитовото И задава всеки резултатен бит на 1 само когато и двата съвпадащи бита са 1
| Побитовото ИЛИ задава всеки резултатен бит на 1, когато някой от съответстващите битове е 1
^ Побитовото XOR задава всеки резултатен бит на 1 само когато двата съвпадащи бита се различават
~ Побитовото допълнение инвертира всеки бит от единствения си операнд
<< Лявото изместване премества битовете наляво и запълва празните позиции с нули.
>> Дясното изместване премества битовете надясно с дадения брой позиции

Например, изразът 5 и 3 сравнява битовете на двете числа и връща 1. Тъй като еднократно изместване наляво удвоява стойността, побитовите оператори могат да извършват някои изчисления по-бързо от аритметичните си еквиваленти, което е важно в графиката и вградения код.

C# OperaПредимство и асоциативност на tor

Когато един израз съдържа няколко оператора, C# не ги оценява просто отляво надясно. OperaПриоритетът на оператора (tor precedence) задава реда, в който се изпълняват различните оператори, а асоциативността определя реда, когато два оператора споделят един и същ приоритет.

  • Приоритет: Умножението и делението се изпълняват преди събирането и делението.tracция, така че 2 + 3 * 4 дава 14, а не 20.
  • Лява асоциативност: Повечето бинарни оператори се групират отляво надясно, така че a – b – c се оценява като (a – b) – c.
  • Дясна асоциативност: Операторите за присвояване и условните оператори се групират отдясно наляво, така че x = y = z присвоява първо z на y.
  • Скоби: Увийтеping Част от израз в скоби отменя реда по подразбиране и прави предвиденото изчисление ясно.

Разчитането на скоби, вместо запомнянето на пълната таблица с приоритети, запазва сложните изрази четливи и помага за предотвратяване на фини грешки при изчисленията.

Въпроси и Отговори

Променливата може да променя стойността си по време на изпълнение, докато константата, декларирана с ключовата дума const, е фиксирана по време на компилация и никога не се променя. Използвайте променливи за данни, които се актуализират, и константи за стойности като Pi, които остават същите.

Ключовата дума var позволява на компилатора да изведе типа на локалната променлива от нейния инициализатор, така че var count = 10 създава int. Променливата все още е силно типизирана; var само премахва необходимостта от изрично записване на името на типа.

Единичният знак за равенство е операторът за присвояване, който съхранява стойност в променлива. Двойният знак за равенство е операторът за равенство, който сравнява две стойности и връща „true“ или „false“. Объркването на двете е често срещана грешка сред начинаещите.

Унарният оператор работи с един операнд, като например ! за логическо НЕ или ++ инкремент. Бинарният оператор работи с два операнда, като например + за събиране или && за логическо И. C# също има един тернарен оператор.

Троичният оператор ?: е съкращение за if-else оператор. Той оценява условие, след което връща първата стойност, когато условието е истина, и втората, когато е неистина, както в int max = a > b ? a : b.

Операторът за обединяване на null стойности ?? връща левия си операнд, когато тази стойност не е null, в противен случай връща десния операнд. Например, име ?? „Гост“ предоставя стойност по подразбиране. Вариантът ??= присвоява стойност само когато целта в момента е null.

Да. GitHub Copilot предлага декларации на променливи, операторни изрази и съставни присвоявания във Visual Studio и VS Codeи може да завърши изчисление от коментар. RevПрегледайте всяко предложение за правилните типове данни и предвидения ред на приоритет.

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

Обобщете тази публикация с: