воскресенье, 8 июня 2014 г.

Разбор заданий С5 ЕГЭ по математике 2014

На протяжении уже 5 лет, решаю задания ЕГЭ по математике. Особенно мною любимы задачи с параметрами С5. В данном посте предлагаю решение четырех разных задач, которые были в 2014 году.



суббота, 26 апреля 2014 г.

Так ли прост строковый оператор +

Введение


Строковый тип данных является одним из фундаментальных типов, наряду с числовыми (int, long, double) и логическим (bool). Тяжело себе представить хоть, сколько либо полезную программу, не использующую данный тип.

На платформе .NET строковый тип представлен в виде неизменяемого класса String. Кроме того, он является сильно интегрированным в общеязыковую среду CLR, а так же имеет поддержку со стороны компилятора языка C#.

В этой статье я бы хотел поговорить о конкатенации, операции, которая выполняется над строками так же часто, как операция сложения над числами. Казалось бы, о чем тут можно говорить, ведь все мы знаем о строковом операторе +, но как оказалось, есть у него свои тонкости.

вторник, 7 января 2014 г.

Длинная арифметика от Microsoft

Введение


Известно, что компьютер может оперировать числами, количество бит которых ограниченно. Как правило, мы привыкли работать с 32-х и 64-х разрядными целыми числами, которым на платформе .NET соответствуют типы Int32 (int) и Int64 (long) соответственно.

А что делать, если надо представить число, такое как, например, 29! = 8841761993739701954543616000000? Такое число не поместится ни в 64-х разрядный, ни тем более 32-х разрядный тип данных. Именно для работы с такими большими числами существует длинная арифметика.

суббота, 28 декабря 2013 г.

Ответы на LINQ Quiz

Вопрос 1. Ответ: A


Max — это один из агрегирующих LINQ операторов, определенный как метод расширения в классах System.Linq.Enumerable и System.Linq.Queryable.

Max — возвращает максимальное значение вычисленное лямбда выражением, а не элемент имеющий максимальное значение (то есть сначала выполняется проекция с помощью лямбда выражения, а потом ищется максимум).

четверг, 26 декабря 2013 г.

LINQ Quiz

Пройдите этот короткий тест и проверьте свои знания по LINQ.


Во всех примерах импортированы следующие пространства имен:
using System;
using System.Linq;
using System.Data.Linq;
using System.Xml.Linq;
using System.Collections;
а так же предполагается, что массив colors определён следующим образом:
string[] colors = { "green", "brown", "blue", "red" };
Поехали!

10 мифов о LINQ

Миф #1


Все LINQ запросы должны начинаться с ключевого слова 'var'. По сути основная цель ключевого слова 'var' — начать LINQ запрос!


Ключевое слово var и LINQ — это самостоятельные концепции. Ключевое слово var позволяет компилятору вывести тип локальной переменной на основании начального присваивания (неявная типизация). К примеру, следующий код:
var s = "Hello"; 
точный эквивалент для:
string s = "Hello"; 
потому что компилятор выводит тип переменной s как string.
Аналогично, следующий запрос:
string[] people = new [] { "Tom", "Dick", "Harry" };
var filteredPeople = people.Where (p => p.Length > 3); 
точный эквивалент для:
string[] people = new [] { "Tom", "Dick", "Harry" };
IEnumerable<string> filteredPeople = people.Where (p => p.Length > 3); 
Можно заметить, всё чего мы добились с помощью ключевого слова var — это создали сокращение для IEnumerable<string>. Многие люди любят такую запись, поскольку она короче; другие же считают, что неявная типизация способна сделать код менее понятным.