我有两本词典。一个是实际的字典(用于键的单词和值的定义),另一个是在Word文件中存储在seconde字典中的单词。
//first dictionary
var xdoc = XDocument.Load("dicoFrancais.xml");
var dico = xdoc.Root.Elements()
.ToDictionary(a => (string)a.Attribute("nom"),
a => (string)a.Element("DEFINITION"));
//second dictionary
Dictionary<string, string> motRap = new Dictionary<string, string>();
Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();
Document document = application.Documents.Open("monfichiertxt.docx");
int count = document.Words.Count;
for (int i = 1; i <= count; i++)
{
string text = document.Words[i].Text;
motRap.Add(text, "blabla");
}
// Close word.
application.Quit();
我想比较两个字典的键并使用第一个字典的值获得相同的键,所以我可以拥有第三个字典,其中包含键和值。
我试过这个:
var intersectMembers = dico.Keys.Intersect(motRap.Keys)
.ToDictionary(t => t, t => dico[t]);
但它不起作用。
有谁可以帮助我吗,
谢谢。 (对不起,我的英语不是很好)
答案 0 :(得分:0)
我想比较两个词典的键,并使用第一个词典的值获得相同的键。
var thirdDictionary = dico
.Where(keyValue => motRap.Keys.Contains(keyValue.Key))
.ToDictionary(keyValue => keyValue.Key, keyValue => keyValue.Value);