在 C# 中我使用
using word = Microsoft.Office.Interop.Word;
使用此代码获取单词的同义词
var app = new word.Application();
var infosyn = app.SynonymInfo[Wtext[Op + 1].ToString(), word.WdLanguageID.wdArabic];
foreach (var item in infosyn.MeaningList as Array)
{
listBox1.Items.Add(item.ToString());
}
图片here
我的问题是我只得到了含义列表(图像中的红色框是什么),但我想要图像中的所有单词(红色框和蓝色箭头中的单词,整个列表)。 注意:我使用 Meaninglist、RelatedWordList 并且它不起作用,并且使循环中的循环采用每个同义词并检查它们的同义词。像这样
var apps = new words.Application();
var infosyns = apps.SynonymInfo[item.ToString(), words.WdLanguageID.wdArabic] ;
foreach (var iitem in infosyns.MeaningList as Array)
{
listBox1.Items.Add(iitem.ToString());
var appss = new wordss.Application();
var infosynss = appss.SynonymInfo[iitem.ToString(),wordss.WdLanguageID.wdArabic] ;
foreach (var iiitem in infosyns.MeaningList as Array)
{
listBox1.Items.Add(iiitem.ToString());
}
}
图片here
最佳答案
Oli4是正确的。 您需要通过执行以下操作来遍历底层数据:
foreach (var iiitem in infosyns.MeaningList as Array)
{
listBox1.Items.Add(iiitem.ToString());
foreach (var item in iiitem.MeaningList)
{
listBox1.Items.Add(item.ToString());
}
}
关于c# - C# 中的 Microsoft.Office.Interop.Word 的 SynonymInfo[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27221453/