什么是Delphi TList的C#等价物?

时间:2012-10-27 13:55:34

标签: c# delphi

在Delphi中,我在列表中有一个类和存储此类的实例,代码如下:

type
    TMyClass = class
    public
        name: String;
        old: Integer;
        anx: boolean;
    end;

...

function x(aList: TList): String;
var
    aObj: TMyClass;
    i: Integer;
begin
    for i:= 1 to aList.Count do
    begin
        aObj := aList[i-1];
    end;
end;

我怎样才能在C#中做到这一点?

我的班级将如何收到TList?如何在C#中编写TList等价物?

2 个答案:

答案 0 :(得分:8)

C#等价物是通用列表容器List<T>。它与Delphi的TList非常相似,但由于使用了泛型,它是一个类型安全的容器。事实上,在现代Delphi代码中,由于类型安全,通用Delphi类TList<T>将优先于非泛型TList

假设您需要MyClass个对象列表,您将实例化List<MyClass>的实例。

List<MyClass> list = new List<MyClass>();

然后你可以添加项目

list.Add(obj);

等等。

答案 1 :(得分:4)

//this is the class with fields.
public class TMyClass
{
    public String Name;
    public int old;
    public bool anx;
}

//this is the class with properties.
public class TMyClass
{
    public String Name { get; set; };
    public int old { get; set; };
    public bool anx { get; set; };
}

public string x(List<TMyClass> list)
{
    TMyClass aObj;
    for(int i = 0; i++; i < list.Count)
    {
        aObj = list[i];
    }
    //NEED TO RETURN SOMETHING?
}

以下是您的课程和职能的翻译。但我相信你的功能需要返回一些东西......