Добавьте Дубликаты ключей в NameValueCollection

Я читал, что NameValueCollection позволяет добавлять дубликаты ключей, однако, похоже, это не тот случай, когда я пытаюсь его использовать.

Мой код

using (var wb = new WebClient())
{
     var data = new NameValueCollection();
     var sourceData = (List<Dictionary<string, object>>)dic["mapData"];
     var countSource = sourceData.Count;

     foreach (var item in (List<Dictionary<string, object>>)dic["mapData"])
     {
          data.Add("pp", item["Latitude"].ToString() + "," + item["Longitude"].ToString());
     }

     var dataCount = data.Count;
     var response = wb.UploadValues(@"http://dev.virtualearth.net/REST/V1/Imagery/Map/road/?mapArea=" + swLat.ToString() + "," + swLong + "," + neLat + "," + neLong + "&mapSize=800,600&key=" + key, "POST", data);

     return this.LargeJson(new { imageData = CreateBase64Image(response) });
}

Что я наблюдаю

мои исходные данные содержат 36 элементов

часы

Я перебираю sourceData и добавляю элементы в мои данные NameValueCollection и добавляю элементы с тем же ключом "pp"

Я ожидал иметь 36 элементов в моих данных NameValueCollection, но я получаю только 1, и все мои значения добавляются к одному и тому же ключу.

Что мне не хватает?

1 ответ

Решение

Это ожидаемое поведение - см. Документацию:

Если указанный ключ уже существует в целевом экземпляре NameValueCollection, указанное значение добавляется в существующий список значений, разделенных запятыми, в форме "значение1, значение2, значение3". Значения связаны с тем же ключом в целевом экземпляре NameValueCollection.

Другие вопросы по тегам