2017-04-06 64 views
-1

我在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); 
} 
+0

'item.GetType()。Name'? – Berkay

+0

「ClientPhysique和ClientMoral擴展了客戶端類。」那麼你們都已經知道在你的清單中只有'Cleint'級別的例子,不是嗎?那麼你的問題是什麼? – HimBromBeere

+0

我沒有寫完整的代碼。項目表示列表內的項目。 @HimBromBeere – Berkay

回答

3

你可以使用Oftype如下

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

    } 
+0

非常感謝。 –

4

你可以縮小你的清單與LINQ方法OfType。它允許您迭代具有特定類型的列表項,忽略所有其他項:

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

謝謝!有用。 –

相關問題