鑑於下面的例子,我如何在第二個例子中使clientList
包含5個客戶端?如何實現平等方法?
我想list.Contains()
方法只檢查FName
和LName
字符串,並在檢查平等時忽略年齡。
struct client
{
public string FName{get;set;}
public string LName{get;set;}
public int age{get;set;}
}
實施例1:
List<client> clientList = new List<client>();
for (int i = 0; i < 5; i++)
{
client c = new client();
c.FName = "John";
c.LName = "Smith";
c.age = 10;
if (!clientList.Contains(c))
{
clientList.Add(c);
}
}
//clientList.Count(); = 1
實施例2:
List<client> clientList = new List<client>();
for (int i = 0; i < 5; i++)
{
client c = new client();
c.FName = "John";
c.LName = "Smith";
c.age = i;
if (!clientList.Contains(c))
{
clientList.Add(c);
}
}
//clientList.Count(); = 5
你說你想忽視年齡,但是你的兩個例子意味着年齡確實被考慮在內。否則,id期望這兩個示例在列表中產生1個元素 – Jamiec 2013-02-28 11:03:14
@Jamiec是的,但我希望在第二個示例中不考慮它。 – zaza 2013-02-28 11:14:42