Buscar

Foreach em delphi.net

Código

{Em C# a declaração de foreach repete um grupo de declarações embutidas para cada elemento em uma ordem ou uma coleção de objeto. Delphi for NET não tem um eqivalente da declaração de foreach. Vejamos como codificar uma declaração de foreach em Delphi.}

//Primeiro, aqui é uma amostra simples do foreach no C#:

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;

//Aqui é o " mesmo código " em Delphi for NET:

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;  
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 30/08/06
Por: Felipe Monteiro
Visualizada: 1787 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009