set klasse

Status
Niet open voor verdere reacties.

nickzw

Gebruiker
Lid geworden
6 mei 2009
Berichten
6
Ik ben een set klasse aan het maken en nu wil ik ook dat collecties kunnen worden toegevoegd, alleen loop ik hier op vast.
Even wat achtergrond: Een set klasse lijkt veel op een list, alleen worden items voordat ze worden toegevoegd eerst gecontroleerd of ze er al in zitten.

De functie Isduplicate krijgt een variabele van een ongedefinieerd type mee, <T>.

Op de regel if (!IsDuplicate(i)) loopt de compiler te klagen
Error 1 The best overloaded method match for 'Set_t.Set<T>.IsDuplicate(T)' has some invalid arguments D:\School\011\C-Sharp\src\Uitwerkingen\wk2\Set_t\Set_t\Set.cs 28 18 Set_t

Error 2 Argument '1': cannot convert from 'System.Collections.Generic.IEnumerable<T>' to 'T' D:\School\011\C-Sharp\src\Uitwerkingen\wk2\Set_t\Set_t\Set.cs 28 30 Set_t


Code:
        public void AddRange(IEnumerable<T> collection) 
        {

            foreach (<T> i in collection)
            {

            if (!IsDuplicate(i)) 
            {
                coll.AddRange(i);
            }
                
         }

Kan iemand mij hier mee helpen?
 
je kan ook HashSet<T> gebruiken. die doet reeds wat jij probeert.


btw, je syntax is ook fout. wat jij zou moeten doen is foreach (T item in Collection), zonder <> rond T

groetjes
 
Laatst bewerkt:
thanks, ben nu al weer een heel stuk verder, HashSet kwam ik al wel tegen bij het zoeken naar een oplossing, maar dit is een opdracht die ik voor m'n studie uit moet voeren, beetje basis kennis c# opdoen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan