Bir liste için .remove ve .removeAll uzantılarının nasıl kullanılacağı konusunda burada birkaç örnek aramıştım. Bu çalışmayı yapmaya çalışırken, bir Listeden istediğim şekilde bir öğeyi gerçekten kaldırmak için .removeAll'ı almada sorun yaşıyorum. Yaptığı şey, Listede her değerin bir kopyasını tutmaktır.C# öğeleri yinelenen bir Listeye kaldırarak ve ekleyerek mi?
Döngü, 'k' tarafından açıklanan bir değerler kümesinde yineleniyor. İstediğim şey, 'k' değeri, Listede ZOR DEĞİLDİR, listeden tamamen kaldırmak istiyorum. Eğer listede 'K' değeri bulunmuyorsa, onu eklemek istiyorum.
for(double k=Low[0]; k<=High[0]; k +=TickSize)
{
if(LiTZ.Contains(k)) { //if k is in list
LiTZ.RemoveAll(item => item == k); //remove it
}
else {
LiTZ.Add(k); //if k not in list, add it
}
}
Ben de şöyle birinci listeden öğe silme nasılsa ayrı bir liste oluşturma ve deyim 'eğer' ilk o listeye ekleyerek, daha sonra karşılaştırma ve düşündüm:
for(double k=Low[0]; k<=High[0]; k +=TickSize)
{
if(LiTZ.Contains(k)) { //if k is in list
LiRemovalList.Add(k); //List of items to remove later
}
else {
LiTZ.Add(k); //if k not in list, add it
}
}
//Code to compare and remove items in LiRemovalList from LiTZ
Diğer Listeleri oluşturmaya gerek kalmadan, bir Listede doğrudan listelemem mümkün mü?