просто ищет немного помощи, чтобы найти лучший способ решить следующую проблему:
У меня есть список из набора набранных номеров, не думаю, что вам нужен я, чтобы показать вам, но, например,
006789 1234
006656 1234
006676 1234
006999 1234
007000 1234
006999 6789
Теперь: у меня также есть список префиксов (префикс, являющийся первым набранным битом, также сообщает вам, куда идет вызов (важный бит)). Важно также - они имеют начальные 0 и имеют разную длину.
скажем, например,
006789 = australia
006789 = russia
006656 = france
006676 = austria
0069 = brazil
00700 = china
Итак, я пытаюсь написать алгоритм C #, чтобы найти, какой префикс применить.
Логика работает следующим образом, скажем, у нас есть один набранный номер, и эти префиксы
dialled number:0099876 5555 6565,
prefix1: 0099876 = Lyon (France)
prefix2: 0099 = France
Теперь применяются оба префикса, за исключением того, что «более подробный» всегда побеждает. то есть этот звонок в Лион (Франция), и результат 0099876 должен быть результатом, даже если 0099 также применяется.
Любая помощь в начале работы с этим алгоритмом была бы полезна, потому что, глядя на него, я не уверен, стоит ли мне сравнивать строки или целые числа! У меня есть .Contains
со строками, но, как показано в моих примерах, это не совсем работает, если префикс позже в числе
1021 * т.е. *
6999 6978
6978 1234
Ура !!!