質問です。

private struct MyPoint
{
int X;
}

List<MyPoint> P = new List<MyPoint>(100);

等として構造体(もしくはクラス)の配列Pを作成したときに、
そのメンバXを配列として簡単に取り出す方法はありますでしょうか?
(P[].Xではなくてint型の配列X[]を取り出したい)

for文で回せば可能なことは分かるのですが、実際には
構造体(クラス)のメンバがかなり多く、配列の要素数も大きいため、
毎回そうするのは非効率な気がして・・・

申し訳ありませんが、よろしくお願いします。