Что за операция в коде: char.IsLetter(letter) ? letter - 'A' : 26; ? - C#
Формулировка задачи:
Всем здравствуйте!
Ребят вот весь код.
Поясните мне на пальцах что это такое:
int index = char.IsLetter(letter) ?
Листинг программы
- using System;
- // ReSharper disable AssignNullToNotNullAttribute
- // ReSharper disable PossibleNullReferenceException
- class Solution
- {
- static void Main()
- {
- int L = int.Parse(Console.ReadLine());
- int H = int.Parse(Console.ReadLine());
- string Sentence = Console.ReadLine().ToUpper();
- for (int i = 0; i < H; i++) {
- string AsciiRow = Console.ReadLine();
- foreach (char letter in Sentence)
- {
- int index = char.IsLetter(letter) ? letter - 'A' : 26;
- Console.Write(AsciiRow.Substring(index*L,L));
- }
- Console.WriteLine();
- }
- }
- }
letter - 'A'
: 26; Это тернарная операция ... но что с чаром происходит? Смысл таков что приходят параметры длинны и высоты символа. ansii строки с символами для прорисовки. и сама строка в обычном формате которую надо перевести/нарисовать в консоли.Решение задачи: «Что за операция в коде: char.IsLetter(letter) ? letter - 'A' : 26; ?»
textual
Листинг программы
- A (ASCII: 65) (#0)
- B (ASCII: 66) (#1)
- C (ASCII: 67) (#2)
- D (ASCII: 68) (#3)
- E (ASCII: 69) (#4)
- F (ASCII: 70) (#5)
- G (ASCII: 71) (#6)
- H (ASCII: 72) (#7)
- I (ASCII: 73) (#8)
- J (ASCII: 74) (#9)
- K (ASCII: 75) (#10)
- L (ASCII: 76) (#11)
- M (ASCII: 77) (#12)
- N (ASCII: 78) (#13)
- O (ASCII: 79) (#14)
- P (ASCII: 80) (#15)
- Q (ASCII: 81) (#16)
- R (ASCII: 82) (#17)
- S (ASCII: 83) (#18)
- T (ASCII: 84) (#19)
- U (ASCII: 85) (#20)
- V (ASCII: 86) (#21)
- W (ASCII: 87) (#22)
- X (ASCII: 88) (#23)
- Y (ASCII: 89) (#24)
- Z (ASCII: 90) (#25)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д