-2

在 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?以及如何TList在 C# 中编写等价物?

4

2 回答 2

8

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

假设您想要一个MyClass对象列表,您将实例化List<MyClass>.

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

然后你可以添加项目

list.Add(obj);

等等。

于 2012-10-27T13:56:59.503 回答
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?
}

这是您的类和功能的翻译。但我确实相信你的函数需要返回一些东西......

于 2012-10-27T14:00:42.707 回答