Занимательное программирование

Программа-шутка: начинает вращать рабочий стол пользователя в заданное время. Подробнее...

Пословицы и поговорки на C#

На одном из форумов www.rsdn.ru была интересная задумка оформить любую более-менее известную фразу оформить в виде кода. Основное условие — в коде можно использовать максимум одну смыслово-названную функцию или переменную (переменные с именами типа i, n, x можно использовать сколько угодно). Все остальные функции/типы/переменные/etc должны входить в состав какой-либо известной библиотеки/фреймворка/etc. При этом компилируемость кода не обязательна, но желательна. Вот небольшая подборка из присланных примеров.

Источники: http://www.rsdn.ru/Forum/message/2771773.flat.1.aspx
http://www.rsdn.ru/forum/?mid=1542198 (пословицы)

Было бы счастье, да несчастье помогло

bool GetHappiness() const
{
    try
    {
        return m_happiness.DoHappy();
}

catch(...)
{
    return true;
}

return false;
}

Примечание: Больше похоже на "Хочешь быть счастливым — будь им"

Обещанного три года ждут. Две вариации на C#. Компилируется.

Promised.WaitOne(new TimeSpan(365*3, 0, 0, 0), false);

Wait(Promised, new TimeSpan(365*3, 0, 0, 0));

Семь раз отмерь, один раз отрежь

MeasureItem();
MeasureItem();
MeasureItem();
MeasureItem();
MeasureItem();
MeasureItem();
MeasureItem();

Cut(Object, false) ;

От тюрьмы и сумы не зарекайся

        static string Life()
        {
            Random r = new Random();
            int Way = r.Next(0, 2);
            if (Way == 0)
                return "Тюрьма";
            if (Way == 1)
                return "Сума";

            throw new NotImplementedException();
        }

Сказал А, говори Б

if (said.Dequeue() == 'A') toSay.Enqueue('B');

Украл, выпил, в тюрьму!

try
{
    Украл();
}

catch
{
    В тюрьму();
}

finally
{
    Выпил();
}
или
void Украл()
{
    try
    {
        Выпил();
    }
    catch
    {
        В_тюрьму();
    }

    finally
    {
       Украл();
    }
}

Ищите женщину

Search(laFemme);

Время - деньги

DateTime = Currency;

На безрыбье и рак рыба

bool IsFish(const Animal &a)
{
    ...
    if(FishContainer.empty() && IsCrawfish(a))
        return true;
    ...
}

дорога в тысячу миль начинается с первого шага

int road=0;

while (road < THOUSAND_LI)
{
    road += step;
}

ГИББД посвящается

if (!подмажешь)
{
    поедешь = false;
}

Коня на скаку остановит, в горящую избу войдет

public interface  IHorseAtRubStopable
{
    void StopTheRunningHorse();
}

public interface   IBurningHouseEnterable
{
    void EnterTheBurningHouse();
}

public class IRussianWoman:IHorseAtRubStopable,IBurningHouseEnterable, Woman
{
    public void  StopTheRunningHorse()
    {

    }

    public void EnterTheBurningHouse()
    {

    }
}

Реклама