- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
private List<Ball> _balls;
private Interaction GetInteraction(Ball ball) {
foreach (var b2 in _balls.SkipWhile(b => b != ball).Skip(1)) {
/* ... */
}
}
var table = _balls.Select(GetInteraction);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+129
private List<Ball> _balls;
private Interaction GetInteraction(Ball ball) {
foreach (var b2 in _balls.SkipWhile(b => b != ball).Skip(1)) {
/* ... */
}
}
var table = _balls.Select(GetInteraction);
Откопал в своей проге.
нужно было определить, какой шарик с кем взаимодействует раньше всего, притом если уже рассчитано взаимодействие 1 и 2 шарика (при рассчёте взаимодействий 1 и 2, 1 и 3, 1 и 4, ... и выделено самое раннее взяимодействие шарика 1), то взимодействие 2 и 1 рассчитываеть не надо. Таким образом, нужно было пройти все пары шариков так, чтоб первый встретился в списке раньше второго.
Массивы, индексы и циклы? Не, не знаем такого. Только Select, только ФП, только колдовство со SkipWhile(b => b!=ball).Skip(1).
> там есть финальный return
Путаемся в показаниях? :)
Вот return после foreach есть, потому и компилируется. Или в шарпе та же срань, что и в сишке\крестах: пропущенный return всего лишь ворнинг?