Вы можете использовать список кортежей:
var tupleList = new List<(double, string)>();
tupleList.Add((2.5, "a string"));
Вот что я бы сделал, учитывая ваш код:
var listOfResults = new List<(double? result, string error)>();
if (input2 == 0)
{
listOfResults.Insert(index: temp, item: (null, "You divided by 0! Wait, thats illegal"));
}
else
{
result = (double)input1 / input2;
listOfResults.Insert(index: position, item: (result, null));
}
А вот как напечатать вывод:
foreach (var item in listOfResults)
{
if (item.result.HasValue)
Console.WriteLine(item.result);
else
Console.WriteLine(item.error);
}