这两个接口之间的确切区别是什么?是否Enumeration有过使用效益Iterator?如果有人可以详细说明,那么参考文章将不胜感激.
.NET 3.5作业的面试问题是"迭代器和枚举器之间有什么区别"?
这是一个核心区别,LINQ等等.
无论如何,有什么区别?我似乎无法在网上找到一个可靠的定义.毫无疑问,我可以找到两个术语的含义,但我得到的答案略有不同.面试的最佳答案是什么?
IMO迭代器"迭代"集合,枚举器提供迭代功能,但必须调用它.
此外,使用yield关键字据说可以保存状态.究竟是什么状态?是否有这种好处的例子?
我想知道如何增加FOR循环语句中的值.
这是我的代码.
function Check(var MemoryData:Array of byte;MemorySignature:Array of byte;Position:integer):boolean;
var i:byte;
begin
for i := 0 to Length(MemorySignature) - 1 do
begin
while(MemorySignature[i] = $FF) do inc(i); //<< ERROR <<
if(memorydata[i + position] <> MemorySignature[i]) then Result:=false;
end;
Result := True;
end;
Run Code Online (Sandbox Code Playgroud)
错误是:E2081分配到FOR循环变量'i'.
我正在尝试将旧代码从C#转换为Delphi,但我不能增加'i'.增加'i'不是唯一的方法,但我想知道问题出在哪里.
为什么编译器不允许for ... in循环中的赋值?
procedure TForm1.Button1Click(Sender: TObject);
Var
ars : Array [0..10] of Integer;
s : Integer;
ct : Integer;
begin
ct := 0;
for s in ars do
Begin
s := ct; // Does not compile!
Inc(ct);
End;
End;
Run Code Online (Sandbox Code Playgroud) 我有"i"这是一个整数变量,我想做一个循环,将"i"从40000增加到90000,每次增加1000.每个结果都将出现在ComboBox中.
示例:40000 - 41000 - 42000 - 43000 - ... - 88000 - 89000 - 90000
我的代码如下:
var i:integer;
begin
for i:= 40000 to 90000 do
begin
ComboBox1.AddItem(IntToStr(i), nil); //until here the code works
Inc(i, 1000);
end;
Run Code Online (Sandbox Code Playgroud)
你有什么建议吗?
delphi ×3
enumeration ×2
iterator ×2
.net ×1
c# ×1
collections ×1
delphi-2010 ×1
generator ×1
java ×1
pascal ×1