Я не уверен, работает ли это на Вас, но когда я делаю маленькое соло проекты PHP с Eclipse, первой вещью, которую я настроил, является скрипт Ant для развертывания проекта к удаленной тестовой среде. Я кодирую далеко локально, и каждый раз, когда я хочу протестировать его, я просто поразил ярлык, который обновляет удаленный сайт.
Eclipse имеет хорошую поддержку Муравья из поля, и сценарии не трудно сделать.
list.Where(r => r.Properties["RS_Partner_Type"] != null && r.Properties["RS_Title"] != null)
.OrderByDescending(r => r.Properties["RS_Partner Type"].ToString())
.ThenBy(r => r.Properties["RS_Title"].ToString());
Или вместо! = Null используйте любой тест, который есть в коллекции Properties.
В лямбде можно использовать троичное выражение:
list.OrderByDescending(r => r.Properties["RS_Partner_Type"] == null ? null : r.Properties["RS_Partner Type"].ToString())
.ThenBy(r => r.Properties["RS_Title"] == null ? null : r.Properties["RS_Title"].ToString());
Другой распространенный подход - присвоить коллекции подходящее значение по умолчанию и вернуть его, когда коллекция не имеет определенного ключа. Например, если Properties
реализует IDictionary,
public static class IDictionaryExtension {
public static TValue GetValue<TKey, TValue>(this IDictionary<TKey, TValue> dict, TKey key, TValue default) {
TValue result;
return dict.TryGetValue(key, out result) ? result : dflt;
}
}
...
lvwRetailStores.DataSource = list.OrderByDescending(r => r.GetValue("RS_Partner Type", "").ToString())
.ThenBy(r => r.GetValue("RS_Title","").ToString());