Есть структура json, такой структуры:
"VendorConfigs": [
{
"IntegrationServiceId": IdNumber,
"VendorUrl": "#url#",
"VendorClientKey": "#key#",
"VendorClientSecret": "#secret#",
}
]
*Свойство файла json -> "Copy always"
И вот код, который вычитывает значения(по крайней мере должен):
var asd = config.VendorConfigs.Where(x => x.IntegrationServiceId == vendorId);
authCreds = Convert.ToBase64String(Encoding.Default.GetBytes($"{asd.Select(x=>x.VendorClientKey)}:{asd.Select(x => x.VendorClientSecret)}"));
Что интерестно в таком варианте, переменная asd - пустая. И я когда делаю Select => получаю соотвественно null.
А вот, как по мне, плохой вариант(но рабочий):
for (int i = 0; i < config.VendorConfigs.Count; i++)
{
if (config.VendorConfigs[i].IntegrationServiceId == vendorId)
{
authCreds = Convert.ToBase64String(Encoding.Default.GetBytes($"{config.VendorConfigs[i].VendorClientKey}:{config.VendorConfigs[i].VendorClientSecret}"));
}
}
Вопрос, почему такое поведения? И как отказаться от второго варинта, что бы 1й был рабочим?