如何知道列表中的对象类型?

时间:2017-04-06 08:00:09

标签: c#

我在C#中使用两种对象类型创建了一个列表,我需要显示类型为ClientPhysique的对象。 ClientPhysiqueClientMoral扩展了Client类。

public List<Client> Clients = new List<Client>();

#region Methodes
// Ajouter un Client:
public void Ajouter()
{
    ClientPhysique CP = new ClientPhysique("EE111111", "Ahmed", "Yassine", 1, 06020202, "Rue Gmasa, Marrakech, 40000");
    ClientMorale CM = new ClientMorale("A1414", "Rue mhamid, A6, Marrakech, 40160", 12121212, 1000000, 6, 06060606, "Titwan de Titwan");
    Clients.Add(CP);
    Clients.Add(CM);
}

2 个答案:

答案 0 :(得分:4)

您可以使用LINQ方法OfType缩小列表范围。它允许您使用特定类型迭代列表项,忽略所有其他项:

foreach(ClientPhysique item in Clients.OfType<ClientPhysique>()) {
    //Do something with your item
}

答案 1 :(得分:3)

你可以使用Oftype如下

var result = Clients.OfType<ClientPhysique>();
    foreach (var element in result)
    {

    }