Nếu có n thuộc tính, thì là Big-O của .GetProperties O (n) hoặc có các quá trình liên quan đến phản chiếu làm tăng tính phức tạp?Big-O của .GetProperties()
Giả sử có lớp này định nghĩa:
public class Reflector
{
public string name { get; set; }
public int number { get; set; }
public bool flag { get; set; }
public List<string> etc { get; set; }
}
Và sau đó cuộc gọi này được đưa ra:
var reflect = new Reflector();
PropertyInfo[] properties = reflect.GetType().GetProperties();
mức độ phức tạp thời gian là gì, ví dụ: Big-O, trong .GetProperties()
? Xem xét rằng có 4 thuộc tính, điều này sẽ chỉ mất 4 lần lặp lại hay nó phức tạp hơn thế? Hoặc, là nó O (1) với một số bộ tiêu chuẩn phức tạp để có được vào danh sách - mà dường như nó vẫn phải là O (n) chỉ để xây dựng các mảng tài sản?
Để lặp lại những gì? .. Có thể không có sự lặp lại nào liên quan, nếu mảng được tạo sẵn cho bạn. – dasblinkenlight
@dasblinkenlight - các lần lặp của quy trình nội bộ được sử dụng để tạo danh sách thuộc tính. Đối với phần câu hỏi đó, và từ các câu trả lời dưới đây, tôi nghĩ câu trả lời là phức tạp hơn. –