本文整理汇总了C#中Studyzy.IMEWLConverter.Entities.WordLibrary.SetCode方法的典型用法代码示例。如果您正苦于以下问题:C# WordLibrary.SetCode方法的具体用法?C# WordLibrary.SetCode怎么用?C# WordLibrary.SetCode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Studyzy.IMEWLConverter.Entities.WordLibrary
的用法示例。
在下文中一共展示了WordLibrary.SetCode方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetCodeOfWordLibrary
public override void GetCodeOfWordLibrary(WordLibrary wl)
{
if (wl.CodeType == CodeType.Pinyin)
{
wl.SetCode(CodeType.UserDefinePhrase,wl.GetPinYinString("", BuildType.None));
}
var codes= CollectionHelper.Descartes(wl.Codes);
wl.SetCode(CodeType.UserDefinePhrase, codes[0]);
}
示例2: GetCodeOfWordLibrary
public void GetCodeOfWordLibrary(WordLibrary wl)
{
if (wl.CodeType == CodeType.Pinyin)
{
var code = ChaoyinHelper.GetChaoyin(wl.PinYin);
wl.SetCode(CodeType.Chaoyin, code);
}
else
{
wl.SetCode(CodeType.Chaoyin, GetCodeOfString(wl.Word));
}
}
示例3: ImportLine
public WordLibraryList ImportLine(string line)
{
string[] c = line.Split(' ');
var wl = new WordLibrary();
string code = c[0];
wl.Word = c[1];
wl.Rank = DefaultRank;
wl.SetCode(CodeType.Cangjie, pyGenerater.GetCodeOfString(wl.Word));
wl.SetCode(CodeType, code);
var wll = new WordLibraryList();
wll.Add(wl);
return wll;
}
示例4: ImportLine
public virtual WordLibraryList ImportLine(string line)
{
var wlList = new WordLibraryList();
string[] strs = line.Split(' ');
for (int i = 1; i < strs.Length; i++)
{
var oriWord = strs[i];
string word = oriWord.Replace(",", ""); //把汉字中带有逗号的都去掉逗号
//var list = pinyinFactory.GetCodeOfString(word);
//for (int j = 0; j < list.Count; j++)
//{
var wl = new WordLibrary();
wl.Word = oriWord;
//if (IsWubi)
//{
// wl.SetCode(CodeType.Wubi, strs[0]);
//}
//wl.PinYin = CollectionHelper.ToArray(list);
wl.SetCode(this.CodeType,strs[0]);
wlList.Add(wl);
//}
}
return wlList;
}
示例5: ImportLine
public WordLibraryList ImportLine(string line)
{
string code = line.Split(' ')[0];
string word = line.Split(' ')[1];
var wl = new WordLibrary();
wl.Word = word;
wl.Rank = DefaultRank;
wl.SetCode(CodeType.Wubi, code);
//wl.PinYin = CollectionHelper.ToArray(pinyinFactory.GetCodeOfString(word));
var wll = new WordLibraryList();
if (wl.PinYin.Length > 0)
{
wll.Add(wl);
}
return wll;
}
示例6: BuildWordLibrary
/// <summary>
/// 根据Pattern设置的格式,对输入的一行该格式的字符串转换成WordLibrary
/// </summary>
/// <param name="line"></param>
/// <returns></returns>
public WordLibrary BuildWordLibrary(string line)
{
var wl = new WordLibrary();
string[] strlist = line.Split(new[] { SplitString }, StringSplitOptions.RemoveEmptyEntries);
var newSort = new List<int>(Sort);
newSort.Sort();
if (isPinyin)
{
int index1 = Sort.FindIndex(i => i == newSort[0]); //最小的一个
if (index1 == 0 && ContainCode) //第一个是编码
{
wl.PinYinString = strlist[0];
}
if (index1 == 1)//第一个是汉字
{
wl.Word = strlist[0];
}
if (index1 == 2 && ContainRank)//第一个是词频
{
wl.Count = Convert.ToInt32(strlist[0]);
}
if (strlist.Length > 1)
{
int index2 = Sort.FindIndex(i => i == newSort[1]); //中间的一个
if (index2 == 0 && ContainCode) //一个是Code
{
wl.PinYinString = strlist[1];
}
if (index2 == 1)
{
wl.Word = strlist[1];
}
if (index2 == 2 && ContainRank)
{
wl.Count = Convert.ToInt32(strlist[1]);
}
}
if (strlist.Length > 2)
{
int index2 = Sort.FindIndex(i => i == newSort[2]); //最大的一个
if (index2 == 0 && ContainCode) //第一个是拼音
{
wl.PinYinString = strlist[2];
}
if (index2 == 1)
{
wl.Word = strlist[2];
}
if (index2 == 2 && ContainRank)
{
wl.Count = Convert.ToInt32(strlist[2]);
}
}
wl.PinYin = wl.PinYinString.Split(new[] { CodeSplitString }, StringSplitOptions.RemoveEmptyEntries);
}
else//不是拼音,那么就抛弃直接加入Unknown Code。
{
int index1 = Sort.FindIndex(i => i == newSort[0]); //最小的一个
if (index1 == 0 && ContainCode) //第一个是Code
{
wl.SetCode(CodeType.Unknown, strlist[0]);
}
if (index1 == 1)
{
wl.Word = strlist[0];
}
if (index1 == 2 && ContainRank)
{
wl.Count = Convert.ToInt32(strlist[0]);
}
if (strlist.Length > 1)
{
int index2 = Sort.FindIndex(i => i == newSort[1]); //中间的一个
if (index2 == 0 && ContainCode) //第一个是Code
{
wl.SetCode(CodeType.Unknown, strlist[1]);
}
if (index2 == 1)
{
wl.Word = strlist[1];
}
if (index2 == 2 && ContainRank)
{
wl.Count = Convert.ToInt32(strlist[1]);
}
}
if (strlist.Length > 2)
{
int index2 = Sort.FindIndex(i => i == newSort[2]); //最大的一个
if (index2 == 0 && ContainCode) //第一个是拼音
{
wl.SetCode(CodeType.Unknown, strlist[2]);
}
//.........这里部分代码省略.........
示例7: ImportLine
//private IWordCodeGenerater pyGenerater = new PinyinGenerater();
public WordLibraryList ImportLine(string str)
{
var list = new WordLibraryList();
string[] words = str.Split(' ');
for (int i = 1; i < words.Length; i++)
{
string word = words[i];
var wl = new WordLibrary();
wl.Word = word;
wl.Rank = DefaultRank;
wl.SetCode(CodeType, words[0]);
//wl.PinYin = CollectionHelper.ToArray(pyGenerater.GetCodeOfString(word));
list.Add(wl);
}
return list;
}
示例8: GenerateCode
private void GenerateCode( WordLibrary wl)
{
var word = wl.Word;
if (SelectedParsePattern.IsPinyin&&SelectedParsePattern.IsPinyinFormat)
{
var py = pyFactory.GetCodeOfString(word, SelectedParsePattern.CodeSplitString);
wl.PinYin = CollectionHelper.ToArray(py);
}
else
{
if (!string.IsNullOrEmpty(SelectedParsePattern.MappingTablePath))
{
SelectedParsePattern.MappingTable = UserCodingHelper.GetCodingDict(SelectedParsePattern.MappingTablePath);
}
selfFactory.MappingDictionary = SelectedParsePattern.MappingTable;
selfFactory.Is1Char1Code = SelectedParsePattern.IsPinyinFormat;
selfFactory.MutiWordCodeFormat = SelectedParsePattern.MutiWordCodeFormat;
wl.SetCode(CodeType.UserDefine, selfFactory.GetCodeOfString(word, SelectedParsePattern.CodeSplitString));
}
}
示例9: ImportLine
//private IWordCodeGenerater pyGenerater=new PinyinGenerater();
public WordLibraryList ImportLine(string line)
{
string[] lineArray = line.Split('\t');
string word = lineArray[0];
string code = lineArray[1];
var wl = new WordLibrary();
wl.Word = word;
wl.Count = Convert.ToInt32(lineArray[2]);
if (CodeType == CodeType.Pinyin)
{
wl.PinYin = code.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);
}
else
{
//wl.PinYin = CollectionHelper.ToArray(pyGenerater.GetCodeOfString(wl.Word));
wl.SetCode(CodeType, code);
}
var wll = new WordLibraryList();
wll.Add(wl);
return wll;
}
示例10: ImportLine
public WordLibraryList ImportLine(string line)
{
string[] c = line.Split(' ');
var wl = new WordLibrary();
string code = c[0];
wl.Word = c[1];
wl.Count = DefaultRank;
wl.PinYin = CollectionHelper.ToArray(pyGenerater.GetCodeOfString(wl.Word));
wl.SetCode(CodeType, code);
var wll = new WordLibraryList();
wll.Add(wl);
return wll;
}
示例11: BuildWlString
/// <summary>
/// 只有单词的情况下,根据规则生成目标格式的编码
/// </summary>
/// <param name="word"></param>
/// <returns></returns>
public string BuildWlString(string word)
{
WordLibrary wl=new WordLibrary(){Word = word};
if (IsPinyin)
{
var py = pyFactory.GetCodeOfString(word, CodeSplitString);
wl.PinYin = CollectionHelper.ToArray(py);
}
else
{
wl.SetCode(CodeType.UserDefine, selfFactory.GetCodeOfString(word, CodeSplitString));
}
//todo
return word;
}
示例12: BuildWordLibrary
/// <summary>
/// 根据Pattern设置的格式,对输入的一行该格式的字符串转换成WordLibrary
/// </summary>
/// <param name="line"></param>
/// <returns></returns>
public WordLibrary BuildWordLibrary(string line)
{
var wl = new WordLibrary();
wl.CodeType = UserDefiningPattern.CodeType;
string[] strlist = line.Split(new[] {UserDefiningPattern.SplitString}, StringSplitOptions.RemoveEmptyEntries);
var newSort = new List<int>(UserDefiningPattern.Sort);
newSort.Sort();
string code = "", word = "";
int rank = 0;
int index1 = UserDefiningPattern.Sort.FindIndex(i => i == newSort[0]); //最小的一个
if (index1 == 0 && UserDefiningPattern.ContainCode) //第一个是编码
{
code = strlist[0];
}
if (index1 == 1) //第一个是汉字
{
word = strlist[0];
}
if (index1 == 2 && UserDefiningPattern.ContainRank) //第一个是词频
{
rank = Convert.ToInt32(strlist[0]);
}
if (strlist.Length > 1)
{
int index2 = UserDefiningPattern.Sort.FindIndex(i => i == newSort[1]); //中间的一个
if (index2 == 0 && UserDefiningPattern.ContainCode) //一个是Code
{
code = strlist[1];
}
if (index2 == 1)
{
word = strlist[1];
}
if (index2 == 2 && UserDefiningPattern.ContainRank)
{
rank = Convert.ToInt32(strlist[1]);
}
}
if (strlist.Length > 2)
{
int index2 = UserDefiningPattern.Sort.FindIndex(i => i == newSort[2]); //最大的一个
if (index2 == 0 && UserDefiningPattern.ContainCode) //第一个是拼音
{
code = strlist[2];
}
if (index2 == 1)
{
word = strlist[2];
}
if (index2 == 2 && UserDefiningPattern.ContainRank)
{
rank = Convert.ToInt32(strlist[2]);
}
}
wl.Word = word;
wl.Rank = rank;
if (code != "")
{
if (UserDefiningPattern.IsPinyinFormat)
{
string[] codes = code.Split(new[] {UserDefiningPattern.CodeSplitString},
StringSplitOptions.RemoveEmptyEntries);
wl.SetCode(UserDefiningPattern.CodeType, new List<string>(codes),UserDefiningPattern.IsPinyinFormat);
}
else
{
wl.SetCode(UserDefiningPattern.CodeType, code);
}
}
return wl;
}