Interview gig

public class DataObject
{
public int ID {get;set;}
public DateTime Date {get;set;}
public decimal Value {get;set;}
}
List list;
надо отфильтровать повторяющися значения по композитному ключу {int ID, DateTime Date}. Ничего сложного. Все как один предлагали решение вида:
var newList = new List();
for( int i = 0; i < list.Count; i++ )
{
foreach ( int k = 0; k < newList.Count; k++ )
{
...
}
}
Т.е. поиск дубликата в два вложенных цикла. Про HashSet и Dictionary все молчали как партизаны даже после наводящих вопросов. Было предложение использовать Linq, но без ответа на вопрос "а как?". Я бы даже согласился на решение: загнать все в sql и там уже select ... group by, с пониманием чего собственно происходит. Но никого не осенило.
Был один русскоговорящий php + MySql студент, с позицией все можно сделать на php+MySql, а ваш .net только для корпоративных чудаков с деньгами. Коллега задавал ему простые вопросы inner join, outer join, union (тут студент поплыл, пришлось сказать, что в MySql union нету, студент ухватился за соломинку: да, да, нету, нету). На третий или четвертый вопрос студент начал нервничать и злиться, че мол спрашиваете глупости всякие, даже если я их и не знаю. Ну я и спросил свой вопрос для сеньоров. Студент поник буйной головой и сильно расстроился. Если бы не злился, я бы и не спросил... :) Коллеги меня потом отчитывали - пришиб бедного студента одним вопросом. Нечего, говорю, ежу голой жопы бояцца.
|
</> |