Tôi có một tình huống mà tôi đang tải một bản ghi rất không chuẩn hóa từ Excel. Tôi kéo vào mỗi hàng và tạo ra các đối tượng từ mỗi hàng một. mỗi hàng có thể chứa một công ty và/hoặc một khách hàng.C# hợp nhất hai đối tượng với nhau tại thời gian chạy
Vấn đề của tôi là nhiều hàng có thể có cùng một đối tượng, vì vậy tôi có thể đã tạo ra nó. Tôi so sánh để xem liệu nó đã có trong danh sách chưa. Nếu vậy tôi cần hợp nhất hai đối tượng để đảm bảo tôi không thu được bất kỳ thông tin mới nào từ hàng thứ hai.
vậy:
company - client - address - phone
----------------------------------------
mycompany - - myaddress -
mycompnay - myclient - - myphone
nên hàng đầu tiên sẽ tạo ra một đối tượng công ty với một địa chỉ của "myaddress". Hàng thứ hai sẽ tạo đối tượng công ty khác (theo quy tắc của tôi là cùng một công ty với tên giống nhau), điều này cũng có tham chiếu khách hàng và số điện thoại.
Vì vậy, tôi sẽ biết chúng giống nhau nhưng cần phải đảm bảo tất cả dữ liệu được hợp nhất thành một đối tượng.
Hiện tại tôi đang tạo lớp tiện ích lấy cả hai đối tượng, (một là tên chính và phần còn lại sẽ được hợp nhất, vì vậy có ưu tiên nếu có xung đột), nó đi qua từng biến và gán giá trị nếu có cái nào. Đây là một tấm hơi nặng và tôi hy vọng có thể có một số tiện ích mà tôi có thể sử dụng để thực hiện công việc thủ công cho tôi.
Ví dụ đã được đơn giản hóa vì có một vài biến số hợp lý khác, một số loại cơ bản và các biến khác là các mục phức tạp hơn.
Bạn có chắc chắn luôn có tối đa 2 đối tượng cần hợp nhất không? Điều gì sẽ xảy ra nếu cùng một cột/thuộc tính được xác định hai lần? Nghe có vẻ nguy hiểm chỉ để bỏ qua một !? – Achim
Cách họ đang lặp lại thông qua các bộ sưu tập của tôi tại thời điểm tôi sẽ hợp nhất trong mỗi trận đấu được tìm thấy. Về lý thuyết, có thể có nhiều kết quả phù hợp thông qua bộ sưu tập, nhưng mỗi lần hợp nhất sẽ được thực hiện mỗi lần. Nếu người dùng đã đưa dữ liệu xấu vào để tôi phải mất một số giá trị vì nhiều lĩnh vực tôi không thể nhìn thấy dù sao xung quanh đó. – Jon