說我有一個類或定義爲這樣一個結構:陣列中的陣列
public class foo
{
public int x;
public int y;
}
or
public struct bar
{
public int x;
public int y;
}
說我有一些陣列或對象的列表中,任一或foo's
bar's
陣列。現在我想創建一個數組或x和/或y的列表。是否有一種簡單的方法可以在C#中執行此操作,而不需要遍歷數組的每個foo
或bar
,然後將所需的成員變量添加到另一個數組中?
例如,這是我當前如何做它:
//For some List<foo> fooList
//get the x's and store them to the array List<int> xList
foreach (var fooAtom in fooList)
{
xList.Add(fooAtom.x);
}
是否有這樣做的更快/更小的編碼方式是什麼? C#中是否有專門爲此設計的構造?類與結構不同嗎?謝謝。
可以使用LINQ。 'var allMyXs = fooList.Select(f => f.x)' –
@Asad謝謝,那正是我在尋找的 – Iowa15
那麼LINQ解決方案很漂亮,但要注意性能。 Select不會比你當前的循環更快,並且如果fooList很大....(並且順便說它仍然是一個循環) – Steve