可能重複:
Remove duplicates from a List<T> in C#如何刪除沒有LINQ的列表<string>中的重複項?
我有一個像下方的列表(這麼大的郵件列表):
源列表:
item 0 : [email protected]|32432
item 1 : [email protected]|32432|test23
item 2 : [email protected]|32432|test65
item 3 : [email protected]|32432|test32
各的重要組成部分項目是電子郵件地址,其他部分(用管道分開並不重要),但我想保留它們在最終名單中。
正如我所說我的名單是大,我認爲不建議使用另一個名單。
我怎樣才能刪除重複的電子郵件(整個項目)形式的列表而不使用LINQ?
我的代碼如下圖所示:
private void WorkOnFile(UploadedFile file, string filePath)
{
File.SetAttributes(filePath, FileAttributes.Archive);
FileSecurity fSecurity = File.GetAccessControl(filePath);
fSecurity.AddAccessRule(new FileSystemAccessRule(@"Everyone",
FileSystemRights.FullControl,
AccessControlType.Allow));
File.SetAccessControl(filePath, fSecurity);
string[] lines = File.ReadAllLines(filePath);
List<string> list_lines = new List<string>(lines);
var new_lines = list_lines.Select(line => string.Join("|", line.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries)));
List<string> new_list_lines = new List<string>(new_lines);
int Duplicate_Count = 0;
RemoveDuplicates(ref new_list_lines, ref Duplicate_Count);
File.WriteAllLines(filePath, new_list_lines.ToArray());
}
private void RemoveDuplicates(ref List<string> list_lines, ref int Duplicate_Count)
{
char[] splitter = { '|' };
list_lines.ForEach(delegate(string line)
{
// ??
});
}
編輯:
在該列表中一些重複的電子郵件addrresses有不同的部分 - >
我能做些什麼關於他們:
意味着
[email protected]|32432|test23
and
[email protected]|asdsa|324234
在此先感謝。
不重複 - 我的q是不同的/ PLZ看到我的評論... – MoonLight
爲什麼神的名字,你有「沒有LINQ '作爲一項要求? – Steven
@Steven尋找和學習可能的方式...... – MoonLight