Studyzy.LearnEnglishBySubtitle.SentenceParse.RemarkWord C# (CSharp) Метод

RemarkWord() публичный Метод

根据一个句子,找到一个单词在句子中的意思
public RemarkWord ( string sentence, string word, string original ) : EngDictionary
sentence string 单词所在句子
word string 单词本身
original string 单词的原型
Результат Studyzy.LearnEnglishBySubtitle.EngDict.EngDictionary
        public EngDictionary RemarkWord(string sentence, string word, string original)
        {
            if (word.Length == 1)
            {
                return null;
            }
            var d = Global.DictionaryService.GetChineseMeanInDict(word);
            if (d == null)
            {
                d = Global.DictionaryService.GetChineseMeanInDict(word.ToLower());
            }
            var originalMean = Global.DictionaryService.GetChineseMeanInDict(original);
            if (d == null ||d.Means.Count == 1)//只有一个解释,那么就不用判断了,返回原型的解释
            {
                if (originalMean != null)
                {
                    return originalMean;
                }
                return d;
            }
            if (originalMean == null)
            {
                originalMean = d;
            }
            var pro = GetTag(word, sentence);
            WordMean mean = null;
            if (pro!=null)//知道单词的词性
            {
                mean = originalMean.Means.FirstOrDefault(m => m.Property == pro);
            }
            else//不知道词性,就去取第一个意思
            {
                mean = originalMean.Means.FirstOrDefault();
            }
            if (mean != null)
            {
                originalMean.DefaultMean = mean;
                return originalMean;
            }
            //根本没有所谓的原型形式,直接用该单词查找意思。
            if (pro != null)//知道单词的词性
            {
                mean = d.Means.FirstOrDefault(m => m.Property == pro);
            }
            else//不知道词性,就去取第一个意思
            {
                mean = d.Means.FirstOrDefault();
            }

               if (mean != null)
               {
               d.DefaultMean = mean;
               return d;
               }
            return d;
        }