![]() |
C# Länge eines dynamischen Arrays
Code:
Wie bekomme ich jetzt raus, wie viele Elemente das Array myProcesses hat?
Process[] myProcesses = Process.GetProcesses();
|
Re: C# Länge eines dynamischen Arrays
Gab´s nicht "Count" oder "Length" bei den C#-Arrays? So wie in JavaScript, meine ich:
Code:
Was sagt denn die .NET-Hilfe dazu?
myProcesses.Length (bzw. eben .Count)
|
Re: C# Länge eines dynamischen Arrays
Hi Lucky,
es gibt das Property .Length aber Achtung: Bei mehrdimensionalen Array wird damit die Gesamtzahl an Elementen ermittelt. Ich weiß leider aber nicht mehr wie man die Elemente in einer Dimension feststellen kann. Irgendwo gibt man in Klammern die Nummer der Dimension an ... Frohes Schaffen Niels |
Re: C# Länge eines dynamischen Arrays
Array test = new Array();
test.GetLength(int dimension); wennst ein eindimensionales feld hast, dann einfach 0: test.GetLength(0); |
Re: C# Länge eines dynamischen Arrays
Ein Beispielchen im Umgang mit Arrays in .Net habe ich mal
![]() Aber alles nötige findest du in der SDK-Doku wenn du nach System.Array suchst. ;) |
Re: C# Länge eines dynamischen Arrays
Das ist es ja gerade myProcesses ist aus dem namespace System.Diagnostics und das kennt weder count noch lenght.
Code:
Wie man sieht, habe ich mir mit einen Zähler beholfen, das finde ich aber nicht so toll. :roll:
using System;
using System.Windows.Forms; using System.Diagnostics; [..] void Button1Click(object sender, System.EventArgs e) { Int32 i = 0; String s = ""; Process[] myProcesses = Process.GetProcesses(); foreach(Process myProcess in myProcesses) { try { s = s + myProcess.ProcessName+"\t"+myProcess.Id.ToString()+"\t"+myProcess.PriorityClass.ToString()+"\t"+myProcess.MainModule.FileName+"\r\n"; i = i+1; } catch { } } textBox1.Text = s; statusBar1.Panels[0].Text = "Anzahl Prozesse: "; } |
Re: C# Länge eines dynamischen Arrays
was Process[] ist eine Klasse vom Typ System.Array und sollte damit die angesprochenen Funktionen GetLength(int dim) bzw. Length haben.
|
Re: C# Länge eines dynamischen Arrays
Wenn ich schreibe:
Code:
und dann warte, bietet er mir aber nichts dergeleichen an. :gruebel:
myProcesses.
|
Re: C# Länge eines dynamischen Arrays
Probiers doch mal hinzuschreiben.
Mein VS6 hat auch manchmal probleme, das anzuzeigen, aber wenn du dann die funktion eintippst, Klammer auf und sieht die Funktion, dann gibtses. Ansonsten geht vielleicht die lösung, dass du die größe des Speichers des Arrays anschaust und die durch die Größe eines Elementes dividierst, ist aber nur bei fixer "Element-größe" anwendbar. |
Re: C# Länge eines dynamischen Arrays
Habe es schon probiert. Er will einfach nicht. Und zu deinem workaround, wäre zwar eine Lösung, aber das kann es ja auch nicht sein.
|
Re: C# Länge eines dynamischen Arrays
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
BTW: Wofür ist das i?
Code:
string s = string.Empty;
Process[] myProcesses = Process.GetProcesses(); foreach(Process myProcess in myProcesses) { try { s = string.Format("{0}\t{1}\t{2}\t{3}" ,myProcess.ProcessName ,myProcess.Id ,myProcess.PriorityClass ,myProcess.MainModule.FileName); Console.WriteLine( s); } catch { Console.WriteLine("BOOM! {0}",myProcess.ProcessName); } } Console.WriteLine(string.Format("Anzahl Prozesse: {0}", myProcesses.GetLength(0))); |
Re: C# Länge eines dynamischen Arrays
Das "i" ist nur eine temporäre Lösung, es zählt die einzelnen prozesse mit, die der Liste hinzugefügt werden.
Genau das will Luckie weghaben (wenn ichs richtig verstanden hab....) |
Re: C# Länge eines dynamischen Arrays
Code:
gibt zwei messageboxen mit der zahl, die auch im taskmanager als process-anzahl steht aus!
void MainFormLoad(object sender, System.EventArgs e)
{ System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcesses(); MessageBox.Show(myProcesses.Length.ToString()); MessageBox.Show(myProcesses.GetLength(0).ToString()); } |
Re: C# Länge eines dynamischen Arrays
Jetzt geht's. Verdammt, ich muss mich da irgendwo vertippt haben und hab ees nicht gesehen. Danke Jungs.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz