2015-10-01 3 views
-3

Я ищу для сравнения два списка объектов; чтобы знать структуру тела. Список ссылок строится на txt. То же самое для корпуса.Сравнить 2 списка объектов, процент возврата в процентах C#

список Ссылка/список Corpus

public Canagram(string anagram, int frequency,int percentage) 
    { 
     anagram = Anagram;   // exemple "a" 
     frequency = Frequency;  // how many "a" in the txt 
     percentage = Percentage; // what's the percentage compared to the other anagram 
    } 

Цель состоит в том, чтобы соответствовать каждой анаграмме на каждый список с процентом и вернуть глобальный процент матча между этими двумя списками.

public static int percentage(List<Canagram> reference, List<Canagram> corpus) 
    { 

     //don"t know how to compare this two list properly and return % match 

     return (int) percentage of match; 
    } 

Спасибо!

+1

Что именно вы сравниваете? вы сравниваете «анаграмму» или «анаграмму», «частоту», или ...? –

+0

Я хотел бы сравнить все анаграммы корпуса (если он находится в списке ссылок или нет) и сравнить процентную долю этой анаграммы, чтобы узнать позже, какой язык использовался в этом корпусе. Например, я получил анаграмму из файла french.txt/spanish.txt/english.txt -> Я хотел бы узнать langage text.txt, сравнив его список анаграмм с другим списком анаграмм –

ответ

0

Не уверен, что это то, что вы хотите, но, может быть, попробовать что-то вроде:

int cnt = reference.Count; 
int matches = 0; 
foreach (var phrase in reference) 
{ 
if (corpus.Contains(phrase)) 
    matches++ 
} 
double percent = (double)matches/(double)cnt; 

Вам может понадобиться изменить тип, так что он может работать со стандартным Содержит, или вам придется писать пользовательские MyContains, чтобы вы могли определить.

Я не скомпилировал вышеуказанное, поэтому, пожалуйста, извините опечатки, но я считаю, что вы должны получить jist.

 Смежные вопросы

  • Нет связанных вопросов^_^