Wenn es n Eigenschaften gibt, dann ist das Big-O von .GetProperties O (n) oder gibt es Prozesse in der Reflexion, die Komplexität hinzufügen?Big-O von .GetProperties()
sagen, es gibt diese definierte Klasse:
public class Reflector
{
public string name { get; set; }
public int number { get; set; }
public bool flag { get; set; }
public List<string> etc { get; set; }
}
Und dann dieser Anruf gemacht wird:
var reflect = new Reflector();
PropertyInfo[] properties = reflect.GetType().GetProperties();
Was ist die Zeit, Komplexität, das heißt Big-O, von .GetProperties()
? Wenn man bedenkt, dass es 4 Eigenschaften gibt, würde dies nur 4 Iterationen erfordern oder ist es komplexer als das? Oder ist es O (1) mit einer Standardmenge von Komplexität, um zu der Liste zu gelangen - was scheint, dass es immer noch O (n) sein muss, nur um das Eigenschaften-Array zu erstellen?
Für Iterationen von was? .. Es sind möglicherweise 0 Iterationen beteiligt, wenn das Array für Sie vorgefertigt ist. – dasblinkenlight
@dasblinkenlight - Iterationen des internen Prozesses, der zum Generieren der Eigenschaftsliste verwendet wird. Für diesen Teil der Frage und die nachstehenden Antworten war die Antwort "komplexer". –