我有一個多行文本,我想刪除它中的重複行。我使用下面的代碼來分隔數組中的行。從.net 2.0中的文本框中刪除重複的行
string[] lines = txtPathological.Text.ToString().Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
但是沒有命令lines.Distinct()。有沒有辦法做到這一點 ?
我有一個多行文本,我想刪除它中的重複行。我使用下面的代碼來分隔數組中的行。從.net 2.0中的文本框中刪除重複的行
string[] lines = txtPathological.Text.ToString().Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
但是沒有命令lines.Distinct()。有沒有辦法做到這一點 ?
這對我的作品......
String[] lines = { "my line 1", "my line 2", "mhyline3", "lslfkdfkjdf", "my line 2", "my line 1", "my line 1", "LKDJF" };
List<String> list = new List<String>();
foreach (String s in lines)
{
if (!list.Contains(s))
list.Add(s);
}
「列表」,然後將含有DISTICT線,你可以使用我們回到一個數組:
String[] distinctLines = list.ToArray();
如果這不工作,我會懷疑你的線條是愚弄Contains()方法的。如果是這樣,您可能需要製作一個方法來替換處理檢測行的Contains(),本地或擴展。
var lines = txtPathological.Text.ToString().Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
var dLines = lines.ToList().Distinct();
編輯:
string[] lines = txtPathological.Text.ToString().Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
List<string> dLines = new List<string>();
foreach (var line in lines)
{
if (!dLines.Contains(line))
{
dLines.Add(line);
}
}
你可以嘗試:
string[] lines = txtPathological.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
List<string> templines = new List<string>(lines);
List<string> tempList = new List<string>();
for (int i = 0; i < templines.Count; i++)
{
if (!tempList.Contains(lines[i])) tempList.Add(lines[i]);
}
TempList是你的排序列表。 希望它可以幫助。
.NET 2.0 winforms中沒有var。 – user1292656