Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 完全删除重复的行_Vb.net_Duplicates_Removeall - Fatal编程技术网

Vb.net 完全删除重复的行

Vb.net 完全删除重复的行,vb.net,duplicates,removeall,Vb.net,Duplicates,Removeall,我到处都在网上搜索 我只需要一个代码,删除我的string/list/richtextbox中的所有重复项 下面是我想要的一个例子: 我接受C#&VB.NET代码 发件人: & Dim lines1作为新列表(字符串)(RichTextBox1.Lines) 作为整数的Dim testint 对于i As Integer=lines1。计数-1到1步骤-1 如果lines1(i)=lines1(i-1),则 线路1.拆除(一) 线路1.拆除(i-1) i=-1 如果结束 下一个 MsgBox(“

我到处都在网上搜索

我只需要一个代码,删除我的string/list/richtextbox中的所有重复项 下面是我想要的一个例子:

我接受C#&VB.NET代码

发件人:

&

Dim lines1作为新列表(字符串)(RichTextBox1.Lines)
作为整数的Dim testint
对于i As Integer=lines1。计数-1到1步骤-1
如果lines1(i)=lines1(i-1),则
线路1.拆除(一)
线路1.拆除(i-1)
i=-1
如果结束
下一个
MsgBox(“”)
RichTextBox1.Lines=lines1.ToArray

有很多方法可以做到这一点。以下是其中之一:

Dim linesByCount作为新字典(字符串,整数)
对于RichTextBox1.行中的每一行
如果linesByCount.ContainsKey(行),则
lineByCount(行)+=1
其他的
lineByCount.Add(第1行)
如果结束
下一个
将唯一行变暗为新列表(字符串)
对于linesByCount.Keys中的每一行
如果linesByCount(line)=1,则
唯一行。添加(行)
如果结束
下一个
RichTextBox1.Lines=Lines.ToArray()
下面是使用LINQ的另一个选项:

RichTextBox1.Lines=RichTextBox1.Lines。
分组依据(功能)。
其中(函数(g)g.Count()=1)。
选择(功能(g)g键)。
ToArray()
无论您选择哪个选项,诀窍都是在删除任何内容之前先获取每个值的计数。否则,您将不知道副本的最后一个实例实际上是一个副本。也就是说,这两个选项实际上都没有删除任何内容。他们创建一个包含每个项目计数的列表,然后选择计数为1的项目并将其添加到新列表中

还有一个选择:

Dim lines=RichTextBox1.lines
RichTextBox1.Lines=Lines.Where(函数数组.IndexOf(行,s)=数组.LastIndexOf(行,s)).ToArray()
或者您也可以使用:

Dim newLines() As String = liness.Where(Function(s) liness.Where(Function(s1) s = s1).Count = 1).ToArray
djsdjjd 252
Dim newLines() As String = liness.Where(Function(s) liness.Where(Function(s1) s = s1).Count = 1).ToArray