Перевод с Pascal на C#. Проверка возраста
Формулировка задачи:
var
a:byte;
begin
readln(a);
case a of
1..5:writeln('Дошкольник.');
6..18:writeln('Ученик.');
19..59:writeln('Работник.');
60..180:writeln('Пенсионер.');
end;
end.Решение задачи: «Перевод с Pascal на C#. Проверка возраста»
textual
Листинг программы
using System;
using System.Linq;
using System.Collections.Generic;
class Program
{
static Dictionary<string, Func<int, bool>> d = new Dictionary<string, Func<int, bool>>()
{
{ "Preschooler", age => age >= 1 && age <= 5 },
{ "Schoolboy", age => age >= 6 && age <= 18 },
{ "Worker", age => age >= 19 && age <= 59 },
{ "Retired", age => age >= 60 && age <= 180 }
};
static void Main()
{
int age = Int32.Parse(Console.ReadLine());
Console.WriteLine(d.FirstOrDefault(kv => kv.Value(age)).Key);
}
}