Cамая большая версия файла - C#
Формулировка задачи:
Подскажите пожалуйста.
Необходимо найти самую большую версию файла.
Версии выглядят в виде: 1.1.2
То есть необходимо сразу найти самую большую первую цифру, потому самую большую вторую у самых больших первых, и так с третей.
Как это правильно сделать?
Версии это массив строк
Решение задачи: «Cамая большая версия файла»
textual
Листинг программы
class VersionsComparer : IComparer<string>
{
public int Compare(string x, string y)
{
var xArray = x.Split('.').Select(e => int.Parse(e)).ToArray();
var yArray = y.Split('.').Select(e => int.Parse(e)).ToArray();
for (int i = 0; i < xArray.Length; i++)
if (xArray[i] < yArray[i])
return -1;
else if (xArray[i] > yArray[i])
return 1;
return 0;
}
}
static void Main()
{
string[] versions =
{
"1.2.1",
"2.1.7",
"2.15.31",
"2.15.30"
};
var mostRecent = versions.OrderByDescending(x => x, new VersionsComparer()).First();
Console.WriteLine(mostRecent);
}