문제

다른 해시 테이블에 의해 하나의 해시 가능 값을 어떻게 업데이트 할 수 있습니까?

두 번째 해시 테이블에 새 키가 포함 된 경우 1st에 추가되어야합니다. 다른 해시 테이블의 값을 업데이트해야합니다.

도움이 되었습니까?

해결책

foreach (DictionaryEntry item in second)
{
    first[item.Key] = item.Value;
}

필요한 경우 확장 방법으로 롤링 할 수 있습니다 (.NET 3.5 또는 최신을 사용한다고 가정).

Hashtable one = GetHashtableFromSomewhere();
Hashtable two = GetAnotherHashtableFromSomewhere();

one.UpdateWith(two);

// ...

public static class HashtableExtensions
{
    public static void UpdateWith(this Hashtable first, Hashtable second)
    {
        foreach (DictionaryEntry item in second)
        {
            first[item.Key] = item.Value;
        }
    }
}

다른 팁

그에 대한 일부 코드 (사전 기반) :

        foreach (KeyValuePair<String, String> pair in hashtable2)
        {
            if (hashtable1.ContainsKey(pair.Key))
            {
                hashtable1[pair.Key] = pair.Value;
            }
            else
            {
                hashtable1.Add(pair.Key, pair.Value);
            }
        }

LINQ를 사용하여 더 우아한 솔루션이 있다고 확신합니다 (하지만 2.0;)).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top