Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 15.03.2015
Сообщений: 2
1

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

02.12.2015, 12:25. Показов 1115. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть дублирующийся участок кода. Преподаватель просит вынести его в отдельную функцию. Помогите пожалуйста.



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

вынесение процедур и функций в отдельную dll С#
Всем привет нужна помощь, есть код калькулятора, надо вынести функции private void...

Список в отдельную функцию
Можно ли вынести список в отдельную функцию? Как это сделать?

Стала возникать ошибка NullReferenceException при отделении части кода в отдельную библиотеку
int numOfDoubleEl = 0; for (int numElements1 = 0; numElements1 <...

Вынесение общего множителя за скобки в выражении
Здравствуйте! Вот какая проблемка: нужно написать программку, которая выносит общий множитель за...

1
879 / 558 / 291
Регистрация: 21.11.2012
Сообщений: 1,553
02.12.2015, 19:39 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public void myFunction(dynamic dir1, dynamic dir2, MaxFieldLength indexWr)
{
 writer = new IndexWriter(dir1, dir2, indexWr);
 string[] files = System.IO.Directory.GetFiles (folderBrowserDialog.SelectedPath);
 foreach (String file in files)
  {
   string text = System.IO.File.ReadAllText(file);
   Document doc = new Document();
   string name = System.IO.Path.GetFileName(file);
   doc.Add(new Field("name", name, Field.Store.YES, Field.Index.NOT_ANALYZED));
   doc.Add(new Field("text", text, Field.Store.NO, Field.Index.ANALYZED));
   writer.AddDocument(doc);}
writer.Optimize();
writer.Dispose();
}
 
//вызов соответственно
myFunction(dirStandart, Standart, IndexWriter.MaxFieldLength.UNLIMITED);
myFunction(dirSimple, Simple, IndexWriter.MaxFieldLength.UNLIMITED);
да и еще кое-что. я не знаю какой тип возвращает тебе функция FSDirectory.Open, поэтому написал dynamic. измени на соответствующие типы
0
02.12.2015, 19:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2015, 19:39
Помогаю со студенческими работами здесь

Вынесение нескольких классов в отельную сборку (просто).
Есть проект из множества классов (собирается в exe), в нем уже не меняется 90% кода длительное...

Вынесение цикла в отдельную функцию и ее вызов
Подскажите, пожалуйста, как правильно вынести цикл в функцию? Вот исходник: #include...

Вынесение проверки try catch в отдельную функцию
Смысл в чем, вот есть у меня необходимость ловить много EConvertError при введении параметров из...

Вынесение кода в функцию не работает
Почему не хочет работать? <?php function fun() {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru