Вынесение кода в отдельную функцию - C#

Узнай цену своей работы

Формулировка задачи:

Есть дублирующийся участок кода. Преподаватель просит вынести его в отдельную функцию. Помогите пожалуйста.
Листинг программы
  1. private void Form_Load(object sender, EventArgs e)
  2. {
  3. dirWhite = FSDirectory.Open (@"C:\White");
  4. dirSimple = FSDirectory.Open (@"C:\Simple");
  5. dirStandart = FSDirectory.Open (@"C:\Standart");
  6. dirSnow = FSDirectory.Open (@"C:\Snow");
  7. White = new WhitespaceAnalyzer();
  8. Standart = new StandardAnalyzer(LUCENE_30);
  9. Simple = new SimpleAnalyzer();
  10. Snow = new SnowballAnalyzer(LUCENE_30, "Russian");
  11. Indexing(White, dirWhite,
  12. public void indexingStandart()
  13. {
  14. writer = new IndexWriter(dirStandart, Standart, IndexWriter.MaxFieldLength.UNLIMITED);
  15. string[] files = System.IO.Directory.GetFiles (folderBrowserDialog.SelectedPath);
  16. foreach (String file in files)
  17. {
  18. string text = System.IO.File.ReadAllText(file);
  19. Document doc = new Document();
  20. string name = System.IO.Path.GetFileName(file);
  21. doc.Add(new Field("name", name, Field.Store.YES, Field.Index.NOT_ANALYZED));
  22. doc.Add(new Field("text", text, Field.Store.NO, Field.Index.ANALYZED));
  23. writer.AddDocument(doc);}
  24. writer.Optimize();
  25. writer.Dispose();
  26. }
  27. public void indexingSimple()
  28. {
  29. writer = new IndexWriter(dirSimple, Simple, IndexWriter.MaxFieldLength.UNLIMITED);
  30. string[] files = System.IO.Directory.GetFiles (folderBrowserDialog.SelectedPath);
  31. foreach (String file in files)
  32. {
  33. string text = System.IO.File.ReadAllText(file);
  34. Document doc = new Document();
  35. string name = System.IO.Path.GetFileName(file);
  36. doc.Add(new Field("name", name, Field.Store.YES, Field.Index.NOT_ANALYZED));
  37. doc.Add(new Field("text", text, Field.Store.NO, Field.Index.ANALYZED));
  38. writer.AddDocument(doc);
  39. }
  40. writer.Optimize();
  41. writer.Dispose();
  42. }
Соответственно в отдельной функции должен быть indexingSimple и indexingWhite

Решение задачи: «Вынесение кода в отдельную функцию»

textual
Листинг программы
  1. public void myFunction(dynamic dir1, dynamic dir2, MaxFieldLength indexWr)
  2. {
  3.  writer = new IndexWriter(dir1, dir2, indexWr);
  4.  string[] files = System.IO.Directory.GetFiles (folderBrowserDialog.SelectedPath);
  5.  foreach (String file in files)
  6.   {
  7.    string text = System.IO.File.ReadAllText(file);
  8.    Document doc = new Document();
  9.    string name = System.IO.Path.GetFileName(file);
  10.    doc.Add(new Field("name", name, Field.Store.YES, Field.Index.NOT_ANALYZED));
  11.    doc.Add(new Field("text", text, Field.Store.NO, Field.Index.ANALYZED));
  12.    writer.AddDocument(doc);}
  13. writer.Optimize();
  14. writer.Dispose();
  15. }
  16.  
  17. //вызов соответственно
  18. myFunction(dirStandart, Standart, IndexWriter.MaxFieldLength.UNLIMITED);
  19. myFunction(dirSimple, Simple, IndexWriter.MaxFieldLength.UNLIMITED);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.267 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы