Так его считают только на вводных лекциях по матану — уж очень ряд медленно сходится. Есть гораздо более быстрые алгоритмы, подробнее en.wikipedia.org/wiki/Computing_%CF%80
Мм… например так. Любую обыкновенная дробь можно записать как бесконечную периодическую десятичную дробь (2/5 = 0.4(0)=0.3(9), 1/3=0.(3)). Если этот факт вы не ставите под сомнение, то в записи 0,10100100010000… нельзя выделить период, следовательно, число иррационально. Первое утверждение доказывается разложением дроби m/n в десятичную. Рассказывать долго, но суть сводится к тому, что при последовательном делении числа на n мы можем получить конечное число остатков (0...n-1), следовательно, на каком-то шаге мы получим остаток, который уже получали ранее и попадем в период. Как-то так.
А если в массиве будет «Строка », «поиска», первый вариант часом не вернет true?
А насчет второго, это как правило — совпадение хэшей не есть совпадение объектов. Наткнешься один раз — надолго запомнишь.
Мое твердое убеждение — не писать var, если в строке не присутсвует явное описание типа. Здесь есть параметры дженериков, которые точно указывают тип. А вот если функции возвращают другие, отличные от указанных, типы, то их просто необходимо указать.
4. Alt-2 — стрелки
А насчет второго, это как правило — совпадение хэшей не есть совпадение объектов. Наткнешься один раз — надолго запомнишь.
var dashboardExtension = ApplicationServer.GetExtension();
И очень сильно удивлюсь, если это не так.
var x = MyFuncReturnX();
гораздо менее читабельнее чем
MyClassX x = MyFuncReturnX();