Наконец понял, почему устьподзалупинский (маськовский) суд запрещает аниме «Инуясики» (или «Инуяшики»)

Аниме, так-то про пенсионера, который в результате несчастного случая с НЛО, получает новое тело и превращается в боевого робота. Правда вместе с ним, такие же способности получает и омежка, которым в детстве был известный всем Владимир Таврический Хуйло.

Хуйло начинает валить всех направо и налево, руководствуясь принципом: «друзьям все — остальным пиздец», так что от него даже друг сваливает (это прямо предсказание, запомните этот твит). Причем валит даже не по делу, а ради удовольствия.

А Дед, он воюет со злом, пиздит гопников, выпиливает бандитов, да и охотится за Хуйлом (правда, весьма вяло).

Понятно, что такое молодежи показывать нельзя.

Попробуй этому пенсионеру повысить пенсионный возраст, скажет ведь: «То, что вы делаете, недостойно» — и развесит по фонарям и ПФ РФ, и роскрысдию и ФСО.
Тем более, уничтожил самую крутую банду нараёне, как так-то? Прямая отсылка к самой крутой банде в ГОРФ, т.е. к нашему, а не анимешному Хуйлу и его друзьям-подхуйловникам.
Ну и, естественно, японцы, того не желая, наступили на мантру пропаганды всея ГОРФ — «Деды Воевали»!

Нельзя показывать, ну никак нельзя.

ЗЫ. Гей-секс там был, но исключительно в негативной коннотации, как отношения между старшим бандитом и подчиненным. Хотя и это, наверное, задело зоновский роскомсуд, т.к. такой гей-секс в ГОРФ вполне разрешен. А его тут с негативной стороны показывают.

ЗЗЫ. Антагонист, впрочем, тоже сделал полезную вещь, хотя и в стиле роскомнадзора — перебил кучу анонов с местного двача. А потом даже исправился и помог планету спасти.

Ничего Хорошего Молотов Коктейль (Nothing Good — Molotov)

Запретили песенку на территории ГОРФ, ублюдки сраные из роскомговна. По поводу нам скидывали интервью Барта, фронтмена группы «Ничего хорошего», но оно безблагодатно проебано куда-то, тяжко иметь 40+ аккаунтов в соцсетях, и потом разобраться, где с кем переписывался.

Прямая ссылка: https://www.youtube.com/watch?v=RLV53ix4GVM

Текст

Под катом

C#, добавление лидирующих нолей к строковому представлению числа, более оптимальный способ.

Преамбула

Здесь (копия) я показал довольно неоптимальный способ решения данной задачи, но его можно оптимизировать с помощью стандартных функций. Напомню суть задачи: даны числа, скажем, от 1 до 1000, необходимо вывести их на экран или в файл последовательно, добавив лидирующие ноли, исходя из максимального числа. Если максимум 1000, то числа должны быть выведены так:
0001
0002
0003
...
0100
0101
0102
...
1000

Если максимум 100, то:

001
002
...
099
100

Подготовка

Как и в предыдущей версии решения, понадобится задать максимальное число (в тестовых примерах опять же, зададим его статически), например:

int maxnum = 150;

И опять же, понадобится функция, вычисляющая количество цифр (разрядов) числа (копия). Например, такая:

static int CountDigitsRec(int n)
{
    n = (int)Math.Abs(n);
    if (n <= 9)
    {
        return 1;
    }
    else
    {
        return CountDigitsRec(n / 10) + 1;
    }
}

Форматирование строки

C# автоматически умеет форматировать строки, используя специальные паттерны описания формата, задаваемые в виде строки. Основные паттерны перечислены в таблице ниже:

C / c Задает формат денежной единицы, указывает количество десятичных разрядов после запятой
D / d Целочисленный формат, указывает минимальное количество цифр
E / e Экспоненциальное представление числа, указывает количество десятичных разрядов после запятой
F / f Формат дробных чисел с фиксированной точкой, указывает количество десятичных разрядов после запятой
G / g Задает более короткий из двух форматов: F или E
N / n Также задает формат дробных чисел с фиксированной точкой, определяет количество разрядов после запятой
P / p Задает отображения знака процентов рядом с число, указывает количество десятичных разрядов после запятой
X / x Шестнадцатеричный формат числа

Для форматирования строки, содержащей целое число, необходимо использовать паттерн d.

Форматирование во время вывода строки на консоль.

Отформатировать строку можно сразу во время вывода на консоль, функцией Console.Write()/Console.WriteLine():

int num = 125
Console.Write ("0:d4", num) //вывод: 0125

или

int num = 25
Console.Write ("0:d4", num) //вывод: 0025

Пример:

static void Main(string[] args)
{
    int maxnum = 150;
    string FormatPattern = "{0:d" + 
        CountDigitsRec(maxnum).ToString() + "}";

    for (int i = 0; i <= maxnum; i++)
    {
        Console.WriteLine(FormatPattern, i);
    }

    Console.WriteLine("Press Enter...");
    Console.ReadLine();
}

Пример на GitHub

Использование String.Format()

Функция String.Format() может сделать аналогичную операцию, но отличается тем, что вывод функции можно сохранить в строковую переменную и использовать далее, а не просто вывести на консоль.

Пример:

static void Main(string[] args)
{
    int maxnum = 1150;
    string FormatPattern = "{0:d" +
        CountDigitsRec(maxnum).ToString() + "}";
    string TempFile = Path.GetTempFileName();
    string Result = "";
    List<string> WriteList = new List<string>();

    for (int i = 0; i <= maxnum; i++)
    {
        Result = String.Format(FormatPattern,i);
        Console.WriteLine(Result);
        WriteList.Add(Result);
    }

    File.WriteAllLines(TempFile, WriteList.ToArray());

    Console.WriteLine("Test file: " + TempFile);
    Console.WriteLine("Press Enter...");
    Console.ReadLine();
}

В цикле результат работы функции String.Format() возвращается в переменную Result, значение которой выводится на консоль и сохраняется в List<string> WriteList для дальнейшей записи в файл.

Пример на GitHub

Примечание: в источнике есть еще варианты форматирования строк, ознакомьтесь.

Источник

Форматирование и интерполяция строк (копия на mega.nz, PDF)