Что за операция в коде: 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)