В каких случаях может понадобиться включить в коллекцию null? Ну, например, пользователь должен выбрать в ComboBox какой-то из пунктов и один из них должен означать, что выбор сделан не был. В code behind в таком случае мы ждём возврата значения null, а со стороны WPF пускай выглядит как некий пункт “Пусто” или “Нет значения”.
К слову, встречал разные мнения по правомерности такого подхода. Некоторые считают, что null – это отсутствие значения и не должно использоваться. По первому пункту они правы – да это отсутствие значения, по второму – не согласен, null несёт смысловую информацию как раз этого отсутствия значения. Это видится естественным и повсеместно используется в .NET.
С моральной стороной разобрались, перейдём к практической. В чём же сложность такого подхода?