シスター、バディ、プログラマー、マスター。
要素を検索するための実行時間に基づいて、多くの記事では要素を追加するために HashSet と List を使用することを提案しています。
次のようにコードを変更または改善する方法:
static List<string> getDBList(string DBname)
{
List<string> listWords = new List<string>();
string[] files;
try
{
files = Directory.GetFiles(@"dbase/", DBname);
foreach (string file in files)
foreach (string line in File.ReadAllLines(file))//doubt
listWords.Add(line.Trim().ToUpperInvariant());
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
return new List<string> { };
}
return listWords;
}
それで...
//MAIN PROGRAM
string allInput = rtbInput.Text;
List<string> splitString = new List<string>.Split(new char[] { ' ', '\t', etc...});
List<int> AllIndexes = new List<int>();
HashSet<string> nounList = new HashSet<string>(getDBList("nounList.txt"));//doubt
int startIndexes = 0;
foreach (string s in splitString)
{
if (s.Trim() != "")
{
string word = s.Trim();
if(!(nounList.Contains(word.ToUpperInvariant()))) //doubt if not found, color it
{
tbTest.Text += word + " ";
//index to begin color the text
AllIndexes = WordsIndex(word, startIndexes);
foreach (int item in AllIndexes) //Coloring all appearance of the word.
{
tbSeeIndex.Text += Convert.ToString(" " + item + " ");
rtbInput.Select(item, word.Length);
startIndexes = item + word.Length;
rtbInput.SelectionColor = Color.Red;
}
tbL.Text += Convert.ToString(" " + startIndexes + " ");
}
}
}
}
入力フォームファイルを使用すると時間がかかりすぎます。
名詞リスト (90963 ワード) の例:
ブック
チェア
鉛筆
etc...
このコードを使用して、文字列値に基づいて検索を実行したいと思います。私はそれに慣れていないので。あなたの例から学びましょう。私はただのアマチュアです。:) :) :) どうもありがとう。乾杯...