Netz-Struktur in C#

Norbert Eder hat gesagt.:
ob in diesem Fall eine foreach nicht schneller wäre ..
Wieso sollte es das? Wird im forech nicht bei jeder Iteration ein extra Objekt erstellt?
for spricht die Element des Array's doch direkt an?
Kannst Du mir das mal bitte nahebringen wie sich das jetzt verhält. :)

Gruß, cosmo
 
foreach ist laut TheCodeProject langsamer.
http://www.codeproject.com/csharp/foreach.asp hat gesagt.:
It also uses some unnecessary move statements which also may (not always, but depends) reduce the performance of the code. foreach is thinking everything as a collection and treating them as a collection. I feel, that will also reduce the performance of the work.
FOREACH Vs. FOR (C#)
 
Der von dir erwähnte "Test" ist nicht aussagekräftig. Warum? Ganz einfach: Von int auf int gibt es keinen Cast. Ergo ist es klar, dass for schneller ist. Sobald du allerdings einen Cast dabei hast, siehts wieder ganz anders aus. Dieser Test ist also unvollständig und nicht als Referenz zu sehen.

In diesem Fall weiß ich nicht von welchem Typ "element" ist. Ist es eine ArrayList? Oder eine Hashtable? Vielleicht nur ein normales Array? Auf jeden Fall hats den IEnumerator implementiert, ergo wirds wohl um einen Cast nicht rumlaufen (ausser es ist eben ein Array dieses Objektes).

Welchen Schluss kann man daraus ziehen? Dass man solche Dinge in der Gesamtheit betrachten muss. Was verstehe ich unter der Gesamtheit? Alle möglichen Fälle zu diesem Thema inkl. der Frage nach dem, was dahinter steht.
 
In diesem Fall weiß ich nicht von welchem Typ "element" ist. Ist es eine ArrayList? Oder eine Hashtable? Vielleicht nur ein normales Array? Auf jeden Fall hats den IEnumerator implementiert, ergo wirds wohl um einen Cast nicht rumlaufen (ausser es ist eben ein Array dieses Objektes).
Alles klar. Das wollt ich doch bloß wissen.
Welchen Schluss kann man daraus ziehen? Dass man solche Dinge in der Gesamtheit betrachten muss. Was verstehe ich unter der Gesamtheit? Alle möglichen Fälle zu diesem Thema inkl. der Frage nach dem, was dahinter steht.
Was mir dank Dir immer leichter fällt. :)

Gruß, cosmo
 
Hallo Leute ,

Danke für euche schnelle Antworten.

Frage : Gibt ´s ein Konkretes Beispiel das mir die Erweiterung von Nodes-Eingeschaften zeigt?

Sie haben gesprochen von Abspeicherung von Strukturen wäre möglich unter Namespace internal .Haben Sie gemeint als Datei speichern? wäre es der Fall , wird es mir nicht helfen da ich die Struktur speichern und irgendwann durch Projekt-ID aufrufen möchte um sie weiter zu bearbeiten ( Löschen von Aktivitäten Fenster, einfügen usw..)
Wenn ich die Aktivitaeten Fenstern speichern möchte , soll ich Arrays erzeugen und die Strukture durch Grafentheorie (1,2,3,4,7,...) in Arrays speichern? Aber wie kann ich dann die Strukturen gemäß Projekt-ID anrufen?

Die Kosten werde ich in dem Datenbank bearbeiten und dann in graphische Oberfläche präsentieren..

Danke für euche Vorschläge ,
Tiffo
 
Gibt ´s ein Konkretes Beispiel das mir die Erweiterung von Nodes-Eingeschaften zeigt?
Code:
using System;
using System.Windows.Forms;

namespace DBProject
{
	internal struct RecordSet {/* TODO */}
	internal enum UserTypes {/* TODO */}

	internal class CustomNode : TreeNode
	{
		int iValue1 = 0;	// TreeNode um 2 int-Werte erweitert
		int iValue2 = 0;

		/// <summary>
		/// Konstruktor
		/// </summary>
		public CustomNode( string Text, int ImageIndex, int SelectedImageIndex ) {
			this.Text = Text;
			this.ImageIndex = ImageIndex;
			this.SelectedImageIndex = SelectedImageIndex;
		}

		/// <summary>
		/// Methode zum Berechnen der ChildNodes
		/// </summary>
		public long CalcResultOfChildNodes() {

			long Result = 0;

			if ( base.Nodes != null ){
				// berechnen
				return Result;
			}
			else
				return 0;
		}

		/// <summary>
		/// ToString überschreiben
		/// </summary>
		public override string ToString() {
			return this.Text + " - " + iValue1.ToString() + "-" + iValue2.ToString();
			
			//base.ToString(); // Das passiert normalerweise
		}
	}
}
Abspeicherung von Strukturen wäre möglich unter Namespace internal
Mach Dich mal bezüglich Zugriffsmodifizierer schlau. internal bedeutet dass das Objekt nur innerhalb des Namespaces und innerhalb aller abgeleiteten Klassen verfügbar ist.
[post=1020879]Struct erstellen/verwenden - Post[/post]

MfG, cosmo

PS.: Schreib mal bitte Netiquetten-freundlich (Grammatik)
 
Zuletzt bearbeitet:
Zurück