PowerTCP Mail for .NET
RemoveDuplicates Method
See Also  Example Send comments on this topic.
Dart.PowerTCP.Mail Namespace > MailAddresses Class : RemoveDuplicates Method




Removes all duplicate MailAddresses, based on their Compare function.

Syntax

Visual Basic (Declaration) 
Public Sub RemoveDuplicates() 
Visual Basic (Usage)Copy Code
Dim instance As MailAddresses
 
instance.RemoveDuplicates()
C# 
public void RemoveDuplicates()
Managed Extensions for C++ 
public: void RemoveDuplicates(); 
C++/CLI 
public:
void RemoveDuplicates(); 

Example

The following example demonstrates the functionality of the MailAddresses collection.
Visual BasicCopy Code
' Be sure to import the namespace by putting "Imports Dart.PowerTCP.Mail"
' at the top of your class.

' Create a MailAddresses collection
Dim ma As New MailAddresses()

' Add a single email address
ma.Add(New MailAddress("address1@test.com"))

' Add a comma delimited list of email addresses.
ma.Add("address2@test.com,address3@test.com")

' Add an otherwise-delimited list of email addresses.
ma.Add("address2@test.com&address3@test.com", "&")

' Remove an email address
ma.Remove("address1@test.com")

' Remove any duplicate email addresses
ma.RemoveDuplicates()

System.Diagnostics.Debug.WriteLine(ma.ToString())

' Output
' ------------------
' <address2@test.com>,<address3@test.com>

' Add some more email addresses
ma.Add("mail1@other.com,mail2@other.com")

' Split the addresses by domain
Dim marray() As MailAddresses = ma.SplitByDomain()

Dim m As MailAddresses
For Each m In marray
   System.Diagnostics.Debug.WriteLine(m.ToString())
Next

' Output
' -----------------
' <mail1@other.com>,<mail2@other.com>
' <address2@test.com>,<address3@test.com>
'
C#Copy Code
// Be sure to import the namespace by putting "using Dart.PowerTCP.Mail;"
// at the top of your class.

// Create a MailAddresses collection
MailAddresses ma = new MailAddresses();

// Add a single email address
ma.Add(new MailAddress("address1@test.com"));

// Add a comma delimited list of email addresses.
ma.Add("address2@test.com,address3@test.com");

// Add an otherwise-delimited list of email addresses.
ma.Add("address2@test.com&address3@test.com", "&");

// Remove an email address
ma.Remove("address1@test.com");

// Remove any duplicate email addresses
ma.RemoveDuplicates();

System.Diagnostics.Debug.WriteLine(ma.ToString());

// Output
// ------------------
// <address2@test.com>,<address3@test.com>

// Add some more email addresses
ma.Add("mail1@other.com,mail2@other.com");

// Split the addresses by domain
MailAddresses[] marray = ma.SplitByDomain();
foreach(MailAddresses m in marray)
   System.Diagnostics.Debug.WriteLine(m.ToString());

// Output
// -----------------
// <mail1@other.com>,<mail2@other.com>
// <address2@test.com>,<address3@test.com>
//

Remarks

This method removes all duplicate MailAddresses with duplicate User@Domains. This method is useful for applications such as bulk mailers, which may maintain extensive mailing lists, to help eliminate sending multiple times to the same address.

This method takes theta(nlog(n)) time and includes a sorting operation.

Requirements

Target Platforms: Microsoft .NET Framework 2.0

See Also

Documentation Version 3.2
© 2010 Dart Communications. All Rights Reserved.