コード例 #1
0
 private void rehash(int newsize)
 {
     this.occupancy = 0;
     Hashtable.bucket[] newBuckets = new Hashtable.bucket[newsize];
     for (int i = 0; i < this.buckets.Length; i++)
     {
         Hashtable.bucket bucket = this.buckets[i];
         if ((bucket.key != null) && (bucket.key != this.buckets))
         {
             this.putEntry(newBuckets, bucket.key, bucket.val, bucket.hash_coll & 0x7fffffff);
         }
     }
     this.isWriterInProgress = true;
     this.buckets            = newBuckets;
     this.loadsize           = (int)(this.loadFactor * newsize);
     this.UpdateVersion();
     this.isWriterInProgress = false;
 }
コード例 #2
0
ファイル: Hashtable.cs プロジェクト: neatstudio/oh
 private void rehash(int newsize)
 {
     this.occupancy = 0;
     Hashtable.bucket[] newBuckets = new Hashtable.bucket[newsize];
     for (int i = 0; i < this.buckets.Length; i++) {
         Hashtable.bucket bucket = this.buckets[i];
         if ((bucket.key != null) && (bucket.key != this.buckets)) {
             this.putEntry(newBuckets, bucket.key, bucket.val, bucket.hash_coll & 0x7fffffff);
         }
     }
     this.isWriterInProgress = true;
     this.buckets = newBuckets;
     this.loadsize = (int)(this.loadFactor * newsize);
     this.UpdateVersion();
     this.isWriterInProgress = false;
 }