Объекты в c# и работа с ними

Я из мира js и мне сложно дались объекты в c#, я не очень понимаю как они работают. Как я могу создать пару (ключ:значение).
Мне необходимо объявлять переменные выше, а не создавать на прямую как это можно было бы сделать в js. Я так же не понимаю как записать под пару (ключ:значение) - тип которого у каждого элемента может быть разный, например первый имеет тип int, второй - тип string.

Возможный js код:

const hosting = { 
  port: `Convert.ToInt32(LoaderXML.GetXml("tcpPort"));`,  
  port32: 7000, 
  address: `LoaderXML.GetXml("ipadress");`, 
  domain: `LoaderXML.GetXml("Domain");`, 
  wiwId: `LoaderXML.GetXml("user_id")`, 
  aut_key: `LoaderXML.GetXml("auth_key")`, 
  wiwsId: [ 
    '41414','43314','41414','41114','11'
  ]
}

Ответы (1 шт):

Автор решения: KuzCode

Для представления пары "ключ-значение" в C# есть готовый тип KeyValuePair<TKey, TValue>, это так называемый generic-тип, тоесть тот в котором можно указывать разные типы, но работать одинаково.

Что бы сделать пару число-строка нужно написать так:

var pair = new KeyValuePair<int, string>(1, "string");

Для набора таких пар без повторения ключа, есть словари Dictionary<TKey, TValue>. Почитайте про них тут.

→ Ссылка