theo dõi

Gần nhất :

Tags

Thống kê câu hỏi

Chuyên mục : Lập trình
Topic : C#
Hỏi lúc:
Lượt xem: 17,963

Xóa các phần tử trùng nhau trong list C#

Đặng Phương Quyên Đặng Phương Quyên
 10  02  02

Như tiêu đề thì mục đích của đoạn code này của em là muốn xóa các phần tử trùng nhau trong list vậy nó sai ở đâu vậy ạ?

String ten;
Console.WriteLine("Nhap vao ten can xoa trong list");
ten = Console.ReadLine();
for (int j = 0; j < listSV.Count; j++) {
    if ( listSV[j].TenSV==ten) {
        listSV.Remove(listSV[j]);
    }
}

ouputSv();

 

17,963 xem 03 theo dõi 00 hữu ích hỏi –

Bạn biết ai đó có thể trả lời câu hỏi này?. Bạn có thể giúp đỡ bằng cách tìm những người giỏi nhất:

user user user user user

Ngô Quỳnh Thanh Ngô Quỳnh Thanh
 00  00  01

Bạn có thể tham khảo code sau:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
	// List with duplicate elements.
	List<int> list = new List<int>();
	list.Add(1);
	list.Add(2);
	list.Add(3);
	list.Add(3);
	list.Add(4);
	list.Add(4);
	list.Add(4);

	foreach (int value in list)
	{
	    Console.WriteLine("Before: {0}", value);
	}

	// Get distinct elements and convert into a list again.
	List<int> distinct = list.Distinct().ToList();

	foreach (int value in distinct)
	{
	    Console.WriteLine("After: {0}", value);
	}
    }
}

Output

Before: 1
Before: 2
Before: 3
Before: 3
Before: 4
Before: 4
Before: 4
After: 1
After: 2
After: 3
After: 4
17,247 xem 00 hữu ích trả lời –
Hoàng Huy Khánh Hoàng Huy Khánh
 00  00  01

Cách dễ nhất là tạo 1 cái list mới, kiểm tra từng sv trong list cũ, sv nào có tên khác tên cần xóa thì bỏ sv đó vào list mới. Sau khi làm xong thì gán list cũ = list mới.

17,249 xem 00 hữu ích trả lời –