-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 に答える