Софтуерно Инженерство
Loading...
+ Нов въпрос
svetlozarned avatar svetlozarned 2 Точки

"Шевица" - 5-та задача от изпит 17 Септември 2017 г.

Здравейте,

 

имам проблем със задачата и по-точно с принтирането на знака  "\".

            Като напиша Console.Write('\') ми го подчертава и дава грешка "Too many characters in character literal"

Някой може ли да удари едно рамо?

 

Мерси

 

Тагове:
0
Основи на програмирането 13/12/2017 23:01:21
dvdty avatar dvdty 465 Точки

Това е специален знак за escape-ване. Принтирай така:

@'/'

0
svetlozarned avatar svetlozarned 2 Точки

Мерси, така стана :)

0
delian1914 avatar delian1914 98 Точки

Другият вариант на ескейпване на конкретият символ е 

\\

в случаят твоят ред ще е 

Console.Write('\\')

и ще принтира само един знак \

 

 

Други случаи на ескейпване:

 

C# defines the following character escape sequences:

  • \' – single quote, needed for character literals
  • \" – double quote, needed for string literals
  • \\ – backslash
  • \0 – Unicode character 0
  • \a – Alert (character 7)
  • \b – Backspace (character 8)
  • \f – Form feed (character 12)
  • \n – New line (character 10)
  • \r – Carriage return (character 13)
  • \t – Horizontal tab (character 9)
  • \v – Vertical quote (character 11)
  • \uxxxx – Unicode escape sequence for character with hex value xxxx
  • \xn[n][n][n] – Unicode escape sequence for character with hex value nnnn (variable length version of \uxxxx)
  • \Uxxxxxxxx – Unicode escape sequence for character with hex value xxxxxxxx (for generating surrogates)

Of these, \a\f\v\x and \U are rarely used in my experience.

[Author: Jon Skeet]

https://blogs.msdn.microsoft.com/csharpfaq/2004/03/12/what-character-escape-sequences-are-available/

Поздрави!

 

0
14/12/2017 09:58:04
simona_st avatar simona_st 38 Точки

Колегата е обяснил подробно, а аз бих искала да цитирам простичкото обяснение от книгата "Основи на програмирането"  (глава "Вложени цикли - изпитни задачи"):

\ е специален символ в езика C# и използвайки само него в метода Console.WriteLine(…), конзолата няма да го разпечата, затова с \\ показваме на конзолата, че искаме да отпечатаме точно този символ, без да се интерпретира като специален (екранираме го, на английски се нарича “character escaping”).

1
14/12/2017 11:39:13
svetlozarned avatar svetlozarned 2 Точки

Мерси за инфото!

0