Иногда мне нужно использовать Tuple, например, у меня есть список танков и их целевых танков (они преследуют их или что-то в этом роде):
List<Tuple<Tank,Tank>> mylist = new List<Tuple<Tank,Tank>>();
а затем, когда я перебираю список, я обращаюсь к ним через
mylist[i].item1 ...
mylist[i].item2 ...
Это очень запутанно, и я всегда забываю, что такое item1 и что item2, если бы я мог получить к ним доступ:
mylist[i].AttackingTank...
mylist[i].TargetTank...
Было бы намного понятнее, есть ли способ сделать это, не определяя класс:
MyTuple
{
public Tank AttackingTank;
public Tank TargetTank;
}
Я хочу избежать определения этого класса, потому что тогда мне придется определять много разных классов в разных сценариях, могу ли я сделать "трюк" и сделать это анонимным.
Что-то вроде:
var k = new {Name = "me", phone = 123};
mylist.Add(k);
Проблема, конечно, что у меня нет типа для перехода к списку, когда я его определяю