Skip to main content

Distinct in a List of Objects

If you have a list of objects and in the list there are repetitive elements, If you want to delete duplicate elements, you may be want to use Linq Distinct() method. But the result may be not your desire because it does not work properly.
For getting the best result in your work, it is better to use the following method for doing distinct in your list:

   1: var listOfObject = items
   2:     .GroupBy(l => l.PropertyToCompare) //Name of you propery
   3: .Select(l => l.First()); 
Post a Comment

Popular posts from this blog

How can you save a MS Office file into a database?

If you want to save a MS Office document such as 
Word doc in a database, you can do it with the 
following code:

    Dim vStream As New FileStream("C:\Alex.doc", FileMode.Open)      Dim vLen As Integer = New FileInfo("C:\Alex.doc").Length     Dim vBlob(vLen) As Byte     Dim n As Integer = vStream.Read(vBlob, 0, vLen)     Dim vSql As String = "INSERT INTO tBlobTable (vId,vBlob) VALUES (1,@vBlob)"      Dim sql As New SqlCommand(vSql, vConn)     Dim sqlPar As New SqlParameter("@vBlob", SqlDbType.Image)     sqlPar.Value = vBlob     sql.Parameters.Add(sqlPar)
I hope you would find it useful.

Consuming a WCF with error: "The caller was not authenticated by the service"

Consuming a WCF service when it hosted on a work group server may cause raise some errors such as: "The caller was not authenticated by the service".
I tackled it by adding the following lines to my code:
client.ClientCredentials.Windows.ClientCredential.Domain = "WorkstationName"; client.ClientCredentials.Windows.ClientCredential.UserName = "blabla"; client.ClientCredentials.Windows.ClientCredential.Password = "blabla123";