Feedback

C# - Equals für alle DatenTypen (byte[], ....)

Veröffentlicht von am 06.11.2006
(3 Bewertungen)
alle Funktionen besitzen eine .Equals funktion, die jedoch nicht bei allen DatenTypen funktioniert.

Hier gibt es schöne Hilfsfunktion um z.B. auch komplette Arrays mit einer Funktion zu vergleichen.
GFU-Schulungen  [Anzeige]

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

/// <summary>
/// Gibt zurück ob der Inhalt zweier Elemente übereinstimmt
/// </summary>
/// <param name="a">Element a</param>
/// <param name="b">Element b</param>
/// <returns>True bei erfolg</returns>
public static bool EqualContent(object a,object b)
{
	//Falls beide Leer sind
	if (a == null && b==null)
		//Erfolgreich
		return true;

	//Wenn eins von beiden null ist
	if (a == null || b == null)
		//Nicht gleich
		return false;
	
	//Stream für vergleich öffnen
	System.IO.MemoryStream sA = new System.IO.MemoryStream();
	System.IO.MemoryStream sB = new System.IO.MemoryStream();

	//Binär beide Serialisieren
	System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bin = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
	bin.Serialize(sA,a);
	bin.Serialize(sB,b);

	//In Array lesen
	byte[] saB = sA.ToArray();
	byte[] sbB = sB.ToArray();

	//Array vergleichen
	if (saB.Length == sbB.Length)
	{
		for(int i=0;i<saB.Length;i++)
			if (!saB[i].Equals(sbB[i]))
				return false;
	}
	else
	{
		//Länge stimmt schonmal nicht überein
		return false;
	}

	//Jetzt kann es nur noch übereinstimmen ;)
	return true;
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!