- 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).
Smekalisty 01.10.2013 16:02 # 0
Jean-Esther 01.10.2013 21:36 # 0
Qwertiy 01.10.2013 23:49 # 0
Jean-Esther 02.10.2013 00:37 # 0
bormand 02.10.2013 08:15 # +1
> там есть финальный return
Путаемся в показаниях? :)
Вот return после foreach есть, потому и компилируется. Или в шарпе та же срань, что и в сишке\крестах: пропущенный return всего лишь ворнинг?
Qwertiy 01.10.2013 23:48 # +1
Smekalisty 02.10.2013 12:41 # 0
coHTwmS 25.08.2021 02:24 # 0