public class Contact
{
public string Name { get; set; }
public string Fax { get; set; }
public string Email {get; set; }
}
を組み合わせますかC#のコレクションは、エントリ
╔═════╦══════╦═════════════╗
║Name ║ Fax ║ Email ║
╠═════╬══════╬═════════════╣
║ a ║ 1 ║ [email protected] ║
║ b ║ 2 ║ [email protected] ║
║ c ║ 3 ║ [email protected] ║
╚═════╩══════╩═════════════╝
これは私がこれまで試したものです:
var result = contactList.Select(contact => contact.Name)
.Distinct()
.Select(name => contactList.First(contact => contact.Name == name))
.ToList();
foreach (var contact in contactList)
{
var c = result.First(r => r.Name == contact.Name);
c.Name = string.IsNullOrWhiteSpace(contact.Name) ? c.Name : contact.Name;
c.Fax = string.IsNullOrWhiteSpace(contact.Fax ? c.Fax : contact.Fax;
c.Email = string.IsNullOrWhiteSpace(contact.Email) ? c.Email : contact.Email;
}
は、より効率的な方法はありますか?
あなたの重複した定義は何ですか?あなたの望む結果は何ですか? –
あなたは類似アイテムをどのように組み合わせるかを尋ねていますか?私の定義では重複がないので、何が "重複"を構成しますか? – leigero
'List'をビルドするときに余分な情報を追加するほうが効率的かもしれません。 –