3
基於if
聲明,我應該如何在GroupBy
至Select
項目之後編寫條件Where
?GroupBy後的條件選擇
我Option
類型的對象的列表:
class Option {
public Boolean Important { get; set; }
public int Priority { get; set; }
public String Value { get; set; }
public String Name { get; set; }
}
我初始化我的選項和一個列表與他們:
List<Option> myOptions = new List<Option> {
new Option { Priority = 100, Name = "Color", Value = "Red", Important = true },
new Option { Priority = 150, Name = "Color", Value = "Blue" },
new Option { Priority = 100, Name = "Font", Value = "16" },
new Option { Priority = 150, Name = "Font", Value = "32"
};
所以,我有喜歡的東西:
///MY Options///
/// NAME --- VALUE --- PRIORITY --- IMPORTANT
/// Color -- Red ----- 100----------True
/// Color -- Blue ---- 150----------False
/// Font-----16--------100----------False
/// Font-----32--------150----------False
///
我需要按名稱對它們進行分組,並根據兩條語句採取這些值:
- 以最具優先級的那個爲
Important
爲準。 - 如果沒有
Important
的項目,請選擇最優先的項目。
因此我們的目標應該是:
///Color - Red //Because has the most priority being Important
///Font - 32 //Because has the most priority and there's no Important
我試圖避免多次重複,所以我建立一個LINQ查詢......沒有成功。我不知道如何解決Where
。任何想法?
速記 - 你'myOptions'初始化是* *很多簡單使用集合初始化器和對象初始化器。 –
謝謝@JonSkeet,的確如此。該類只是爲了專注於Linq –
是的,但是您的示例代碼越簡單,就越容易集中於排序部分。您的25行初始化可能非常容易。 –