vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Microsoft Technical Submit  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | vb@rchiv CD Vol.5  | Shop Copyright ©2000-2008
 
zurück
Knüller: vb@rchiv CD Vol.4
Knüller: vb@rchiv Offline-Reader - Die Offline-Wissensdatenbank

vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4
 
Tools & Components Anzeigen 
 
Unser Tipp: Alle Online-Forenbeiträge aus dem vb@rchiv - gesammelt in einer Offline-Wissendatenbank, mit Internet-Update-Funktion, u.v.m.

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

C# Ecke
IndexOutOfRangeException 
Autor: ModeratorDaveS (Moderator)
Datum: 29.05.08 14:34

Sieht jemand wie man diese Exception in diesem uralten Code (.Add()) bekommen könnte? Ich nicht, aber ich bin ja auch uralt
using System;
using System.IO;
 
namespace NWCommon
{
	/// <summary>
	/// CIntIdList manages a list of unique integers in a dynamically grown array.
	/// </summary>
	[Serializable]
	public sealed class CIntIdList : ISerialise, ISerialise2, ICloneable
	{
		int[] _ids;
		int _inc;
		int _count;
 
		public CIntIdList()
		{
			_inc = 8;
			_ids = initIds(_inc);
			_count = 0;
		}
 
                // other constructors...
 
		// Properties
 
                // ...
 
		// Methods
 
		public bool Add(int id)
		{
			int[] newints;
			int idx = -1;
 
			if (Array.IndexOf(_ids, id)>=0) return false;
			if (_count<_ids.Length&&_ids[_count]==-1) 
				idx = _count;
			else
				idx = Array.IndexOf(_ids, -1);
			if (idx<0)
			{
				newints = initIds(_ids.Length+_inc);
				if (newints.Length>=_inc*4) _inc = _inc*2;
				int j = 0;
				for (int i = 0; i<_ids.Length; i++)
					if (_ids>=0) newints[j++] = _ids;
				_ids = newints;
				idx = j;
			}
			_ids[idx] = id;
			_count++;
			return true;
		}
 
 
 
		public bool Delete(int id)
		{
			int idx = Array.IndexOf(_ids, id);
			if (idx<0) return false;
			_ids[idx] = -1;
			_count--;
			return true;
		}
 
 
		private int[] initIds(int capacity)
		{
			int[] ints = new int[capacity];
			for (int i = 0; i<capacity; i++) ints = -1;
			return ints;
		}
 
                // usw...
 
                // Interfaces etc...
 
	}
}
PS. Die Forumsoftware wandelt manche eckigen Klammern in "<" und ">" um.

________

As per standard protocol the intelligence findings were fixed in advance by policy

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
IndexOutOfRangeException256ModeratorDaveS29.05.08 14:34
Re: IndexOutOfRangeException88ModeratorDaveS30.05.08 08:14
Eine Vermutung73Drapondur30.05.08 19:42
Re: Eine Vermutung75ModeratorDaveS30.05.08 21:29
Re: Eine Vermutung68ModeratorDaveS30.05.08 21:33
Re: IndexOutOfRangeException62ModeratorDaveS31.05.08 15:22
Re: IndexOutOfRangeException69spike2402.06.08 09:31
Re: IndexOutOfRangeException66ModeratorDaveS02.06.08 09:48

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2008 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.

Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel