Что лучше: использовать out для нескольких выходных значений или возвращать комбинированный тип значения?

Например, по строкам:

public bool Intersect (Ray ray, out float distance, out Vector3 normal)
{

}

vs

public IntersectResult Intersect (Ray ray)
{

}

public class IntersectResult
{
    public bool Intersects {get;set;}
    public float Distance {get;set;}
    public Vector3 Normal {get;set;}
}

Что лучше как по ясности, простоте использования и, что самое главное, производительности.

14
задан Joan Venge 10 March 2011 в 21:18
поделиться