Search results for 'C# foreach'. 1 post(s) found.

  1. 2007/10/04 Implementing C#'s foreach loop in Delphi 8
2007/10/04 08:18

Implementing C#'s foreach loop in Delphi 8


In C# the foreach statement repeats a group of embedded statements for each element in an array or an object collection. Delphi 8 does not have an eqivalent of the foreach statement. Let's see how to code a foreach statement in Delphi...

First, here's a simple sample C# code:

foreach (TMyObject myObject in AnArrayList) {
  AnIntValue = MyObject.MyValue;
}
Where TMyObject class is declared as:
TMyObject = Class(TObject)
  public
    MyField : integer;
    constructor Create(AValue:integer) ;
end;

constructor TMyObject.Create(AValue: integer) ;
begin
   inherited Create;
   MyField := AValue;
end;


Here's the "same code" in Delphi:

var
   MyObject : TMyObject;
   AnArrayList : ArrayList;
   Enum: IEnumerator;
   j:integer;
begin
   AnArrayList := ArrayList.Create;
   AnArrayList.Add(TMyObject.Create(2004)) ;
   AnArrayList.Add(TMyObject.Create(1973)) ;
   AnArrayList.Add(TMyObject.Create(2000)) ;
   AnArrayList.Add(TMyObject.Create(1998)) ;


   //FOR EACH
   Enum := AnArrayList.GetEnumerator;
   while Enum.MoveNext do
   begin
     MyObject := TMyObject(Enum.Current) ;
     Response.Write(MyObject.MyField.ToString + '<br>') ;
   end;

   // OR USING ITERATION
   for j:= 0 to -1 + AnArrayList.Count do
   begin
     MyObject := TMyObject(AnArrayList[j]) ;
     Response.Write(MyObject.MyField.ToString + '<br>') ;
   end;
Trackback 3 Comment 0

Trackback : Cannot send a trackbact to this post.

  1. Subject different money making ideas

    Tracked from moneyideas 2010/01/29 00:51 delete

    moneyideas

  2. Subject different money making ideas

    Tracked from moneyideas 2010/01/29 09:22 delete

    moneyideas

  3. Subject different money making ideas

    Tracked from moneyideas 2010/01/31 16:41 delete

    moneyideas