Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C# Länge eines dynamischen Arrays (https://www.delphipraxis.net/30403-c-laenge-eines-dynamischen-arrays.html)

Luckie 24. Sep 2004 03:01


C# Länge eines dynamischen Arrays
 
Code:
Process[] myProcesses = Process.GetProcesses();
Wie bekomme ich jetzt raus, wie viele Elemente das Array myProcesses hat?

MathiasSimmack 24. Sep 2004 05:41

Re: C# Länge eines dynamischen Arrays
 
Gab´s nicht "Count" oder "Length" bei den C#-Arrays? So wie in JavaScript, meine ich:
Code:
myProcesses.Length (bzw. eben .Count)
Was sagt denn die .NET-Hilfe dazu?

nieurig 24. Sep 2004 07:18

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

mumu 24. Sep 2004 08:13

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);

Robert_G 24. Sep 2004 08:38

Re: C# Länge eines dynamischen Arrays
 
Ein Beispielchen im Umgang mit Arrays in .Net habe ich mal dort gepostet.
Aber alles nötige findest du in der SDK-Doku wenn du nach System.Array suchst. ;)

Luckie 24. Sep 2004 12:14

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:
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: ";
        }
Wie man sieht, habe ich mir mit einen Zähler beholfen, das finde ich aber nicht so toll. :roll:

nailor 24. Sep 2004 13:01

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.

Luckie 24. Sep 2004 13:04

Re: C# Länge eines dynamischen Arrays
 
Wenn ich schreibe:
Code:
myProcesses.
und dann warte, bietet er mir aber nichts dergeleichen an. :gruebel:

JasonDX 24. Sep 2004 13:26

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.

Luckie 24. Sep 2004 13:28

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:14 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz