【发布时间】:2022-01-19 11:45:38
【问题描述】:
我有一个字符串列表,其中包含例如以下项目:
0$1, 0$2, 0$5, 1$1, 1$8
如果已经存在的话,我的意愿是用 1 美元移除其他项目。 在该示例中,预期输出为:
0$1, 0$2, 0$5, 1$8
有没有更简洁的方法来实现这一点,使用 LINQ 或其他任何东西,而不是做这样的事情?
For Each str As String In ddlElecDBFilter.SelectedItemsList
Dim currentString As String = str
'DO A FOR EACH LOOP on the other elements (starting from the current index + 1 and delete them
Next
提前谢谢你
【问题讨论】:
-
您的问题被标记为 C#,但您的代码使用不同的语言(看起来像 VB?)。你(想)使用什么语言?
-
是的,抱歉,我添加了 VB.NET。但如果有人想出 C# 解决方案,翻译起来很容易
-
创建一个新列表,并从您的字符串列表中添加项目(如果它们尚未在新列表中)。列表的大致大小是多少 - 数十个、数百个或更多字符串?
-
@AndrewMorton 我会说列表的大小最大为十。这可能是最好的解决方案,谢谢。我可以尝试做这样的事情
-
@solrin 实际上,使用 Dictionary(Of String, String) 其中第一个字符串是必须唯一的部分可能更容易。 Dictionary.ContainsKey 的文档有一个示例,几乎可以满足您的需求。