2017-05-03 1 views
0

내부 NameValueCollection으로 NameValueCollection을 초기화하려고하면 C# 컴파일러는 NameValueCollection (string, string)이되어야한다고 말합니다.내부 NameValueCollection으로 NameValueCollection을 초기화하는 방법

내가 이런 식으로 초기화 할 때 Add 함수를 호출 할 때 생각한 것처럼.

  • void Add (NameValueCollection c);
  • void 추가 (문자열 이름, 문자열 값);

NameValueCollection을 기반으로 한 줄에서 같은 것을 초기화 할 수있는 다른 방법이 있습니까?

이유는 내가에 데이터를 게시해야한다는 인 HTTPAddress 나는 여기에이 function

가 작동하지 않습니다 내 예입니다 사용

NameValueCollection data = new NameValueCollection() 
{ 
    { "key1", "value1"}, 
    { "key2", new NameValueCollection() 
    { 
     { "key2sub", "value"} 
    } 
}; 
+1

같은 유형의 이름 값 컬렉션의 모든 부분을 만들어야합니다. 이것은'NameValueCollection'에서 내재되어 있습니다. – vipersassassin

답변

1

하지 정말요? 그래 UploadValues(..) 방법은을 NameValueCollection이고 NameValueCollection은 만 허용합니다. 방법의 목적은 당신의 데이터를 변환하는 것입니다

...

...의 URL에 : 당신이 더 많은 정보를 보내려면

http://www.example.com/?key1=value1&key2=value2 

, 당신은 넣을 수 있습니다 구분 된 문자열을 키 중 하나의 값으로 설정 한 다음 다른 끝에서 다시 분리합니다. ,

http://www.example.com/?key1=value1&key2=value2,value3,value4 

그러나 가장 좋은 방법은 (지금 삭제) @hmnzr said in their answer로 전적으로 NameValueCollection을 피하고 UploadString(..) 방법을 사용하여 JSON으로 직렬화 사용자 지정 개체를 업로드 : 같은 것을 생산해야

UploadValues("http://www.example.com/", new NameValueCollection() 
{ 
    { "key1", "value1" }, 
    { "key2", "value2,value3,value4" } 
}; 

.

+0

나는 내 작업을 수행하기 위해 NameValueCollection을 사용하지 않지만 thx! –

관련 문제