Вы можете использовать словарь, как показано в приведенном ниже коде, а затем цикл:
Dictionary<int, KeyValuePair<string, ConsoleColor>> keyValuePairs = new Dictionary<int, KeyValuePair<string, ConsoleColor>>();
keyValuePairs.Add(1, new KeyValuePair<string, ConsoleColor>("my blue text", ConsoleColor.Blue));
keyValuePairs.Add(2, new KeyValuePair<string, ConsoleColor>("my red text", ConsoleColor.Red));
foreach (var keyItem in keyValuePairs.Keys)
{
ConsoleColor color = keyValuePairs[keyItem].Value;
string textTobeDisplayed = keyValuePairs[keyItem].Key;
Console.ForegroundColor = color;
Console.Write(textTobeDisplayed);
}
int num;
while (lineStream >> num) numbers.push_back(num);
Это - классический пример std::back_inserter
.
copy(istream_iterator<int>(lineStream), istream_iterator<int>(),
back_inserter(numbers));
Можно создать вектор с самого начала на, если Вы желаете
vector<int> numbers((istream_iterator<int>(lineStream)),
istream_iterator<int>());
Не забудьте помещать круглые скобки вокруг первого аргумента. Компилятор думает, что это - объявление функции иначе. При использовании вектора для того, чтобы просто получить итераторы для чисел можно использовать istream итераторы непосредственно:
istream_iterator<int> begin(lineStream), end;
while(begin != end) cout << *begin++ << " ";