Условная группа LINQ

Я думаю, что одна ошибка в том, что вам нужно изменить

<script src="https://maps.googleapis.com/maps/api/js?key=MYKEY&callback=initMap" async defer></script> 

на

<script src="https://maps.googleapis.com/maps/api/js?key=MYKEY&callback=initialize" async defer></script> 

, у вас нет функции initMap, но я предполагаю, что вы хотите Вызовите initialize ().

16
задан MrDustpan 16 April 2009 в 16:00
поделиться

2 ответа

Сотрудник со мной разобрался:

bool someFlag = false;
var result = from t in tableName
   group t by new { FieldA = (someFlag ? 0 : t.FieldA), t.FieldB } into g
   select g;
25
ответ дан 30 November 2019 в 21:37
поделиться

В случае, если ваш someFlag не является переменной, зависящей от текущего элемента итератора тогда я думаю, что вы могли бы сделать ваш код более читабельным, написав следующее.

bool someFlag = false;
var result = someFlag ?
     (from t in tableName group t by t.FieldA into g select g) :
     (from t in tableName group t by t.FieldB into g select g);

По общему признанию, он немного длиннее, но, на мой взгляд, его назначение значительно более очевидно.

И немного упростить код, который вы только что опубликовали:

bool someFlag = false;
var result = from t in tableName
   group t by (someFlag ? t.FieldA : t.FieldB) into g
   select g;

] ... или я что-то здесь упускаю?

0
ответ дан 30 November 2019 в 21:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: