Προς το περιεχόμενο

[VB .NET] Redim σε Array


JohnL

Προτεινόμενες αναρτήσεις

Δημοσ.

Έχω φτιάξει ένα πρόγραμμα το οποίο χρησιμοποιεί ένα collection για να αποθηκεύει προσωρινά δεδομένα. To collection αποτελείται από πολλά structures (ίδιας μορφής), και τα structures από μεταβλητές, εκ των οποίων μία είναι ένα string (,) array.

 

Εγώ θέλω κάποια στιγμή να το μεγαλώσω από (0,0) π.χ. σε (1,0). Όταν όμως χρησιμοποιώ το Redim μου βγάζει σφάλμα

 

An unhandled exception of type 'System.InvalidCastException' occurred in microsoft.visualbasic.dll

 

Additional information: Cast from type 'Object(,)' to type 'String(,)' is not valid.

 

Δε γίνεται να χρησιμοποιήσω το Redim σε αυτή την περίπτωση?

Αν όχι τι άλλο μπορώ να κάνω;

Δημοσ.
Δες και εδώ λίγο.

 

http://support.microsoft.com/kb/884378

 

Το λινκ δε νομίζω ότι έχει καμία σχεση με αυτό που κάνω εγώ.

 

Dokimase sthn arxh na ton dilwseis:

Dim pinakas() As String

 

Kai meta kathe fora pou thes na ton allaxseis na bazeis:

ReDim pinakas(1' date=' 0) As String

'h

ReDim pinakas(0, 0) As String[/quote']

 

Δεν επιτρέπεται στη VB .NET το As String σε Redim

 

 

Ο κώδικας που χρησιμοποιώ (όχι όλοκληρος):

 

>Public Structure S
  Dim Data As String(,)
End Structure

Dim Col As New Collection()

ReDim Col.Item(1).Data(1, 0)  'εδώ βγάζει σφάλμα
Col.Item(1).Data(1, 0) = "X"

Δημοσ.
Έχω φτιάξει ένα πρόγραμμα το οποίο χρησιμοποιεί ένα collection για να αποθηκεύει προσωρινά δεδομένα. To collection αποτελείται από πολλά structures (ίδιας μορφής)' date=' και τα structures από μεταβλητές, εκ των οποίων μία είναι ένα string (,) array.

 

Εγώ θέλω κάποια στιγμή να το μεγαλώσω από (0,0) π.χ. σε (1,0). Όταν όμως χρησιμοποιώ το Redim μου βγάζει σφάλμα

 

An unhandled exception of type 'System.InvalidCastException' occurred in microsoft.visualbasic.dll

 

Additional information: Cast from type 'Object(,)' to type 'String(,)' is not valid.

 

Δε γίνεται να χρησιμοποιήσω το Redim σε αυτή την περίπτωση?

Αν όχι τι άλλο μπορώ να κάνω;

 

Μπορεις να χρησιμοποίσεις ενα ArrayList

Δεν χρειάζεται ReDim και τετοια πράγματα.

Απλώς του βάζεις

ArrayList col = new ArrayList();

col.Add(anObject);

col.Add(anotherObject);

 

και μετά για να τα πάρεις πίσω

myClass anObject = (myClass)col[0];

εχει και άλλο κολπάκια, ψάξε το documentation.

Μπορείς να φτιάξεις και δικο σου collection για να μην κάνεις κάθε φορά cast.

Δημοσ.

bandito με το Array List μπορώ να φτιάξω πίνακα 2 διαστάσεων με όσες σειρές και στήλες θέλω;

 

Αν ναι άλλαξε αν μπορείς τον κώδικα που έχω φτιάξει ώστε να χρησιμοποιεί ένα ArrayList.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...