나는 NameValueCollection
개체를 가지고 있으며이 개체를 Hashtable
개체 (선호하는 한 줄의 코드)로 변환해야합니다. 이것을 어떻게 할 수 있습니까?NameValueCollection을 Hashtable로 변환하는 방법
11
A
답변
19
강력 타입이므로 일반 Dictionary
을 사용하는 것이 좋습니다. 반면 Hashtable
은 그렇지 않습니다. 이 시도 :
NameValueCollection col = new NameValueCollection();
col.Add("red", "rouge");
col.Add("green", "verde");
col.Add("blue", "azul");
var dict = col.AllKeys
.ToDictionary(k => k, k => col[k]);
편집 : 귀하의 의견을 바탕으로, 당신은 여전히 위의 방법을 사용하고 한 번 더 라인을 추가 할 수있는 해시를 얻을 수 있습니다. 한 줄에 항상이 작업을 할 수 있지만 두 줄을 더 읽기 쉽습니다.
Hashtable hashTable = new Hashtable(dict);
또는, 될 루프를 사용하여 pre-.NET 3.5 방법 :
Hashtable hashTable = new Hashtable();
foreach (string key in col)
{
hashTable.Add(key, col[key]);
}
1
이 한 줄 이상을 소요하지만 그것은 컴파일하고 실행하는
NameValueCollection nv = new NameValueCollection();
Hashtable hashTable = new Hashtable();
nv.Add("test", "test");
foreach (string key in nv.Keys)
{
hashTable.Add(key, nv[key]);
}
상당히 간단합니다 예상대로
관련 문제
- 1. NameValueCollection을 JSON 문자열로 변환하는 방법은 무엇입니까?
- 2. C# 삽입 단추를 Hashtable로
- 3. NameValueCollection을 GridView에 바인딩 하시겠습니까?
- 4. HTTP 요청에 NameValueCollection을 보냄 C#
- 5. NameValueCollection을 Autofac으로 해결할 수 없습니다.
- 6. Android에서 JSON 데이터를 HashTable로 구문 분석 하시겠습니까?
- 7. C#에서 List <object>을 Hashtable로 변환하려면 어떻게해야합니까?
- 8. 변환하는 방법
- 9. C# lambda를 효율적으로 사용하여 NameValueCollection을 쿼리 문자열로 변환하고 있습니까?
- 10. px를 %로 변환하는 방법 (px를 글꼴 크기로 em로 변환하는 방법)
- 11. 프로젝트에서 파일을 변환하는 방법 - java에서 파일을 IFile로 변환하는 방법?
- 12. int를 통화로 변환하는 방법?
- 13. Excel을 XML로 변환하는 방법?
- 14. ActionScriptObject를 ByteArray로 변환하는 방법?
- 15. 영어를 Cron으로 변환하는 방법?
- 16. bbmp를 jpg로 변환하는 방법
- 17. PUNICODE_STRING을 bstr으로 변환하는 방법?
- 18. Stata에서 날짜를 변환하는 방법?
- 19. 컬러 모델을 변환하는 방법
- 20. Linq.ParallelQuery를 Linq.IQueryable로 변환하는 방법
- 21. 날짜 형식을 변환하는 방법
- 22. HTML로 PDF를 변환하는 방법?
- 23. struts2를 SpringMVC로 변환하는 방법
- 24. String을 'System.Web.HttpPostedFile'로 변환하는 방법?
- 25. BigInteger를 BigDecimal로 변환하는 방법?
- 26. PDF를 HTMLConversion으로 변환하는 방법
- 27. MySQL : EAV로 변환하는 방법?
- 28. LWFN을 TTF로 변환하는 방법?
- 29. System.Data.Linq.Binary를 스트림으로 변환하는 방법?
- 30. HttpGet을 HttpPost로 변환하는 방법?
문제는 내가'Hashtable'을 기대하는 API를 사용하고있어서'Dictionary'를 사용하는 것이 옵션이 아니라는 것입니다 ... – MarioVW
@MarioVW는 내 업데이트를 봅니다. –
여기에 캐치가 있습니다. NameValueCollection은 중복 키를 허용합니다. 이 경우 모든 값은 HashTable의 동일한 키에 삽입됩니다. 고유 키당 하나의 항목 만 있습니다. 예 : "red"키가 "rouge"및 "verde"값에 대해 두 번 나열되면 해시 키 "red"에 대해 두 값이 단일 키로 나열됩니다. – Priyank