Nie rozumiem celu Array.GetLowerBound().Jaki jest cel Array.GetLowerBound (int)?
Czy zwraca wartość różną od zera? Gdy? W jaki sposób?
Dzięki.
Nie rozumiem celu Array.GetLowerBound().Jaki jest cel Array.GetLowerBound (int)?
Czy zwraca wartość różną od zera? Gdy? W jaki sposób?
Dzięki.
W tablicy wielowymiarowej w VB lub różnych interfejsach API wyprowadzanych z COM można wyszukiwać dolną granicę według wymiarów. Typy tablic mogą być oparte na 0 lub 1 (to jest zaczynając od zera lub 1) i dotyczy to również tablic wielowymiarowych.
Może to również dotyczyć tablic narażonych przez współdziałanie COM. Na przykład wiele interfejsów API programu Excel korzysta z tablic opartych na tabelach 1, a wiele funkcji API korzysta z tablic wariantowych jako parametrów (wariant został w zasadzie wynaleziony jako typ danych dla komórki arkusza kalkulacyjnego).
Podczas korzystania z interakcji COM nadal trzeba grać ładnie z tymi API i systemami typów. Zostały one pierwotnie zaprojektowane do użycia z VBA, a "klasyczne" warianty językowe VB4-6 miały prawdziwie barokowy system ze względu na ich ścisłe sprzężenie z COM. Systemy typu .Net z C# et. glin. są nieco mniej bolesne od swoich poprzedników opartych na COM, ale nadal odczuwasz ból podczas korzystania z COM interop.
Teoretycznie można tworzyć tablice z dowolną dolną lub górną granicą do indeksowania. VB.NET może to wykorzystać do utworzenia tablic z dolną granicą 1, aby być kompatybilnym z niektórymi starszymi wersjami VB, ale można faktycznie użyć Array.CreateInstance(Type,Int32[],Int32[]), aby utworzyć tablicę z dowolną niższą granicą.
Jest jedna CreateInstance
wezwanie, które ustawia niezerowe dolne granice:
CreateInstance(Type, Int32[], Int32[])
Tworzy wielowymiarową tablicę określonych długościach typ i wymiary, z podanych dolnych granicach.
Porównaj to:
CreateInstance(Type, Int32[])
Tworzy wielowymiarową tablicę określonych długościach typów i wymiarów, z indeksowaniem zera. Długości wymiarów są określone w tablicy 32-bitowych liczb całkowitych.
(lub którykolwiek z pozostałych przeciążeń w rzeczywistości. Spośród sześciu CreateInstance
przeciążeń, pięć utworzyć tablicę liczone od zera).
ty mispelled spłukany. :) – quillbreaker
Ci pisał "źle napisany";) – Marc
Nie, naprawdę miałem na myśli "barokowy" jak w "barokowej monstrualności", w przeciwieństwie do "jeśli nie jest barokowy, nie naprawiaj". ; -} – ConcernedOfTunbridgeWells