在 D8 內實作 C# foreach loop 語法. |
|
suckin
一般會員 發表:13 回覆:26 積分:7 註冊:2003-06-16 發送簡訊給我 |
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 + '
') ; end; // OR USING ITERATION for j:= 0 to -1 AnArrayList.Count do begin MyObject := TMyObject(AnArrayList[j]) ; Response.Write(MyObject.MyField.ToString ' ') ; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |