3
我試圖刪除使用LINQ其中兩個屬性的組合等於一個字符串的列表的所有引用。如何刪除兩個屬性的組合等於字符串的所有值?
比如:我有對象
class obj
{
string a;
string b;
}
,我有一個單獨的串x
所以我想刪除其中(a+b) == x
下面是我想要做的例子:
void Main()
{
List<telefone> phones = new List<telefone>()
{
new telefone()
{
ddd = "21", numero="1234"
},
new telefone()
{
ddd = "22",
numero="1234"
}
};
List<string> newPhones = new List<string>(){"1151814088", "11996081170", "098", "890", "99988", "6533"};
for(int i = 0; i < newPhones.Count; i++)
{
phones.Select(x => x.ddd + x.numero).ToList().RemoveAll(x => (x == phones[i]));
}
phones.Dump();
}
public class telefone
{
//[System.Xml.Serialization.XmlIgnore]
internal string hash = String.Empty;
public String ddd { get; set; }
public String numero { get; set; }
public telefone()
{
ddd = String.Empty;
numero = String.Empty;
}
}
你的答案是差不多吧,只是你把「! 「所以它只是刪除每個人= D,但它工作後,我刪除了「!」在 phones.RemoveAll(p =>!newPhones.Any(np => np == p.ddd + p.numero)); 謝謝! – 2013-03-08 21:55:16
@ user1955193:從Linq查詢中複製/粘貼錯誤;) – 2013-03-08 21:57:26
加上它不需要循環來完成它= D – 2013-03-08 21:57:57