В настоящее время я использую следующий код, и он работает очень хорошо, при получении абзацев из документа Word, который соответствует ключевым словам в моем словаре, единственная проблема заключается в том, что словари не допускают дублирования, я хочу знать, какМогу ли я использовать List (of (keyvaluepair (of string, string)) так же, как я использую словарь в предложении where.
Примеры: Прекрасно работает со словарем, кроме некоторых, в ключе есть дубликаты сто же значение, которое мне нужно разместить.
filelistDict.Add("date", "Date")
filelistDict.Add("july", "Date")
filelistDict.Add("1", "Date")
filelistDict.Add("1", "Number")
filelistDict.Add("one", "Number")
Dim matchQuery4 = From para As Paragraph In doc.Paragraphs
Where filelistDict.Any(Function(s) Regex.IsMatch(para.Range.Text, "(_|-)" + Regex.Escape(s.Key) + "|\b" + Regex.Escape(s.Key) + "\b|" + Regex.Escape(s.Key) + "(_|-)", RegexOptions.IgnoreCase))
Select para
Я хочу добиться того же результата, но со следующим списком, который допускает дубликаты, но я не знаю, как реализовать в коде linq.
Dim WordsDictionary As List(Of KeyValuePair(Of String, String))
Dim matchQuery4 = From para As Paragraph In doc.Paragraphs
Where WordsDictionary.Any(Function(s) Regex.IsMatch(para.Range.Text, "(_|-)" + Regex.Escape(s.Key) + "|\b" + Regex.Escape(s.Key) + "\b|" + Regex.Escape(s.Key) + "(_|-)", RegexOptions.IgnoreCase))
Select para