Loading...

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

Georginator avatar Georginator 1 Точки

Защо използваме $ вместо "" + ""

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

Защо използваме $ знака вместо просто "" + ""? Очевидно е, че така е по-прегледно обаче си мисля, че методът с кавичките би трябвало да има причина, поради която да съществува.

Давам пример, вижте последния ред :

Console.WriteLine("Please write your first name:");
            string firstName = Console.ReadLine();
            Console.WriteLine("Please write your last name:");
            string lastName = Console.ReadLine();
            Console.WriteLine("Please write your age:");
            int age = int.Parse(Console.ReadLine());
            Console.WriteLine("Please write your hometown:");
            string town = Console.ReadLine();
            Console.WriteLine("You are " + firstName + " " + lastName + ", a " + age + "-year old person from " + town + ".");

Сменяме последния ред с далеч по-елегантното

            Console.WriteLine($"You are {firstName} {lastName}, a {age}-years old person from {town}.");

Да обобщя - очевидно е, че вторият метод е по-практичен в този случай. Въпросът ми е има ли случаи, в които първият метод с кавичките е за предпочитане?

P.S. Бонус въпрос - правилно ли съм разбрал терминологията : методът с кавичките се нарича конкатенация, а методът със скобите интерполация?

Тагове:
1
Programming Basics with C# 07/10/2020 22:57:38
kkaraivanov avatar kkaraivanov 486 Точки
Best Answer

Здравей! Методът с "$" се нарича интерполация, а методът с "+" - конактекация, а по нататък в обучението ще срещнеш и стрингове с "@". Накратко идеята е следната:

- използвай "@" когато в стринга имаш специални/запазени символи. Например когато ползваш "\"... без символа "@" трябва да го изпишеш например така - root = "c:\\sample\\myProject.exe", а със сивола така - root = @"c:\sample\myProject.exe"

- използвай "$" когато искаш да вмъкнеш стойност на променлива вместена в { }. Например променливите a = 2; b = 2 в стринга result = $"Result = {a + b}" в конзолат ще получиш резултат "Result = 4".

- конкатенация използвай за долепяне на стрингове, като внимаваш за стойностите в тях. Имам предвид, че стринг "2" + "2" не е равно на 4, а на "22".

Има и други методи за работа със стрингове и стойностни променливи, но това за момента мисля че ще ти е от полза.

1
Georginator avatar Georginator 1 Точки

Благодаря за разясненията.

Изниква ми друг въпрос, като използваш доста понятието стринг, дори и в контекст при работа с числа.

String променливите не са ли само за текст, за числа се използват int и double или нещо изпускам аз?

0
kkaraivanov avatar kkaraivanov 486 Точки

Може би въпросът ти е свързан с променливите a = 2; b = 2. Оставил съм ги без декларация на типа защото се подразбира че са int променливи. Причината да говоря за стринг е защото въпросът ти е свързан със стринг, а използвам числа за да обясня разликата при използването на операторите. Що се отнася до int, double и т.н. не съм зясягал тема за кога какъв тип да използваш за деклариране на променливи. И ДА, изпускаш, в стринговете се използват числа.

0
krum_43 avatar krum_43 750 Точки

Здравей колега,

По принцип използваме знака за $,защото така са решили колегите от Microsoft.

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

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