2016-10-09 2 views
0
var wordsToHighlight = new List<string>() { "sign ID1:", "user:", "autohotkey", "bloody" }; 

if (!string.IsNullOrWhiteSpace(richTextBox1.Text)) 
    foreach (var word in wordsToHighlight) 
     int index = 0; 

     while (index != -1) 
      richTextBox1.SelectionColor = Color.Red; 
      index = richTextBox1.Find(word, index + word.Length - 1, richTextBox1.TextLength, RichTextBoxFinds.None); 

현재이 코드를 사용하여 richtextbox에서 단어를 검색하고 강조 표시합니다. 프로그램과 동일한 폴더에서 단어의 .txt 파일을 사용하여 { "The", "is", "what", "story" }을 바꿀 수 있으며 .txt 파일의 단어를 사용하여 검색 할 수 있습니까?로드 목록 <string> .txt

예 :

Line 1 = The 
Line 2 = is 
Line 3 = what 
Line 4 = story 
+4

을 할 수 있도록 배열, IEnumerable 있습니다. 이 코드는 무엇을하기로되어 있습니까? – meJustAndrew

+1

귀하의 질문은 어디에 있습니까? – codelab

+0

richtextbox에 로그 파일을 열려고하고 { "The", "is", "what", "story"} 목록에서 + 강조 키워드를 검색하고 있습니다. 그렇지만 .txt 파일에서 해당 키워드를 변경하고 해당 키워드로 로그 파일을 검색하려고합니다. 그래서 .txt 파일이 { "The", "is", "what", "story"}를 대체하기를 원합니다. 그렇게함으로써 키워드를 변경해야 할 때마다 프로그램을 재구성하지 않아도됩니다. 나는 척처럼 붙어있다. – Cdapimp

답변

3

당신은 string[]로 파일의 라인을 읽을 File.ReadAllLines()을 사용할 수 있습니다 (.txt 파일의 단어는 다음과 같다). 이것은 다음 List<string>로 변환 할 수 있습니다,하지만 당신은 귀찮게 할 필요가 없습니다 - 당신은 당신도 foreach``후 중괄호가없는

foreach (var word in File.ReadAllLines(path_to_wordlist)) 
{ 
    //... 
} 
+0

도움에 감사하지만 2 개의 오류가 표시됩니다. \t 코드 \t 설명 \t 프로젝트 \t 파일 \t 라인 \t 억제 상태 오류 \t CS0136 \t 로컬 또는 매개 변수 이름이 '단어'그 이름이 로컬 또는 매개 변수 를 정의 할 둘러싸는 로컬 범위에서 사용되기 때문에이 범위에서 선언 할 수 없습니다 심각도 오류 \t CS0103 \t 'wordsToHighlight'이름이 현재 컨텍스트에 없습니다. – Cdapimp

+0

이 오류 메시지는 컴파일러 메시지가 나타날 가능성이있는 일반 영어에 가깝습니다. 현재 "단어"와 "wordsToHighlight"가 정확히 한 번만 선언되어 있는지 확인해야하는 전체 코드를 확인하십시오. –

+0

고맙습니다. Fischer – Cdapimp