Det betyder at dit array er et object array. Derfor kan du ikke gøre det som du forsøger. En besværgelig måde: string[] arr = new string[IDList.GetRange(StartOfPage, (EndOfPage - StartOfPage + 1)).ToArray().Count];
Når jeg oversætter det til VB og sætter det ind i min kode får jeg følgende fejl :
Disse linier : Dim arr(IDList.GetRange(StartOfPage, (EndOfPage - StartOfPage + 1)).ToArray.Count) As String While i < IDList.GetRange(StartOfPage, (EndOfPage - StartOfPage + 1)).ToArray.Count
Giver denne fejl : 'Count' is not a member of 'System.Array'
Og i'et sidst i denne linie : arr(i) = IDList.GetRange(StartOfPage, (EndOfPage - StartOfPage + 1)).ToArray(i)
Giver denne fejl : Value of type 'Integer' cannot be converted to 'System.Type'
Den samlede oversættelse ser således ud : Dim arr(IDList.GetRange(StartOfPage, (EndOfPage - StartOfPage + 1)).ToArray.Count) As String Dim i As Integer = 0 While i < IDList.GetRange(StartOfPage, (EndOfPage - StartOfPage + 1)).ToArray.Count arr(i) = IDList.GetRange(StartOfPage, (EndOfPage - StartOfPage + 1)).ToArray(i) System.Math.Min(System.Threading.Interlocked.Increment(i), i - 1) End While
Tager jeg blot min IDList og udskriver den så får jeg "System.Collection.ArrayList" jeg ved ikke om det har noget at sige men det indikere da at jeg har en arrayliste.
Count skulle være length du kan måske prøve med string[] arr = new string[IDList.GetRange(StartOfPage, (EndOfPage - StartOfPage + 1)).ToArray().Length]; int i = 0; foreach(object o in IDList.GetRange(StartOfPage, (EndOfPage - StartOfPage + 1))) { arr[i] = o.ToString(); i=i+1; }
Det fik jeg heller ikke til at virke så jeg gav op, istedet fandt jeg frem til at der var en indbygget klasse i frameworket til det samme, nemlig "PagedDataSource".
Den klare det hele ganske fint. Du skal selvfølgelig have nogle point for din indsats så smid et svar ;o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.