如果我有兩個序列,並且我想一起處理它們,我可以將它們結合起來並離開我們去。是否有一個整潔的linq方式來「聯合」單個項目?
現在可以說我有我希望兩個sequencs之間處理一個項目。我可以通過創建一個包含單個項目的數組來獲得它,但有沒有更好的方法?即
var top = new string[] { "Crusty bread", "Mayonnaise" };
string filling = "BTL";
var bottom = new string[] { "Mayonnaise", "Crusty bread" };
// Will not compile, filling is a string, therefore is not Enumerable
//var sandwich = top.Union(filling).Union(bottom);
// Compiles and works, but feels grungy (looks like it might be smelly)
var sandwich = top.Union(new string[]{filling}).Union(bottom);
foreach (var item in sandwich)
Process(item);
是否有這樣做的批准方式,或者這是批准的方式嗎?
感謝
這是我傾向於做..沒有感到不開心,但從來沒有想通這是值得各地工作..不知道是否有寫的隱式轉換的方式T和T陣列..的 – 2010-08-20 15:15:03
可能重複之間[收藏的方式來創建從一個單一的值的新的IEnumerable序列?](http://stackoverflow.com/questions/1019737/favorite-way-to-create-an- new-ienumerablet-sequence-from-a-single-value) –
nawfal
2013-02-17 12:32:57
通過將new string []減少爲new [],可以簡化聯合表達式。否則,如果你最終經常這樣做,Jon Hanna的解決方案可能是最好的解決方法。 – 2014-11-14 19:18:38