Whlist gvee * Решение 1002 * простое и элегантное, оно не сработает, если вы хотите показать меню, которое также показывает время выполнения.
При этом выпрямо на пути к более простому решению.Всякий раз, когда имеется более чем, скажем, три переменные с именами value0, value1, ... valuen , обычно пора использовать структуру данных.Массив будет очевидным выбором, довольно часто хеш-таблица тоже подойдет.Через .Net существует много типов для более особых нужд.
Если вам нужно выполнить более сложную обработку с файлом данных, рассмотрите возможность его предварительной обработки.Давайте использовать регулярное выражение и хеш-таблицу, например,
# Some dummy data. Note the duplicate entry for level 1
$d = ('Check Level: 0, 38.99607466333333',`
'Check Level: 1, 60.93540646055553',`
'Check Level: 2, 34.43543543967473',`
'Check Level: 1, 99.99990646055553')
# A regular expression to match strings
$rex = [regex]::new('Check Level: (\d+),.*')
# Populate a hashtable with contents
$ht = @{}
$d | % {
$level = $rex.Match($_).groups[1].value
$line = $rex.Match($_).groups[0].value
if( $ht.ContainsKey($level)) {
# Handle duplicates here.
$ht[$level] = $line
}
else {
$ht.Add($level, $line)
}
}
# Print the hashtable in key order.
$ht.GetEnumerator() | sort
Name Value
---- -----
0 Check Level: 0, 38.99607466333333
1 Check Level: 1, 99.99990646055553
2 Check Level: 2, 34.43543543967473