Что за операция в коде: 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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д