Click here to Skip to main content
15,894,337 members

Survey Results

Should array indexing start at 0 or 1?   [Edit]

Survey period: 7 Mar 2011 to 14 Mar 2011

Old school VB devs and old school C devs know the answer. What's your feeling in this modern, enlightened era?

OptionVotes% 
01,11587.93
115312.07



 
GeneralRe: These results surprise me. PinPopular
Chris Steenkamp8-Mar-11 3:39
Chris Steenkamp8-Mar-11 3:39 
GeneralRe: These results surprise me. Pin
L. Braun8-Mar-11 5:57
L. Braun8-Mar-11 5:57 
GeneralRe: These results surprise me. Pin
StewBob8-Mar-11 8:11
StewBob8-Mar-11 8:11 
GeneralRe: These results surprise me. Pin
Chaveca_9-Mar-11 3:23
Chaveca_9-Mar-11 3:23 
GeneralRe: These results surprise me. Pin
mojp10-Mar-11 5:11
mojp10-Mar-11 5:11 
GeneralRe: These results surprise me. Pin
hairy_hats11-Mar-11 0:33
hairy_hats11-Mar-11 0:33 
GeneralRe: These results surprise me. Pin
Klaus-Werner Konrad13-Mar-11 2:13
Klaus-Werner Konrad13-Mar-11 2:13 
GeneralHere's why 0-based indices are beautiful: [modified] Pin
Daniel Grunwald7-Mar-11 19:41
Daniel Grunwald7-Mar-11 19:41 
T GetRandomElement(T[] array)
{
   // NextRand() returns a non-negative random number
   return array[NextRand() % array.Length];
}
T[] Reverse(T[] input)
{
    T[] output = new T[input.Length];
    for (int i = 0; i < input.Length; i++)
        output[output.Length - i] = intput[i];
    return output;
}


Try doing these with 1-based arrays and you'll find that you'll need ugly "+1" for most of the array accesses.

In fact this extends to many algorithms; 0-based arrays tend to lead to cleaner code and less potential for off-by-one errors. Dijkstra's argument for 0-based arrays[^] explains why.

modified on Tuesday, March 8, 2011 1:48 AM

GeneralRe: Here's why 0-based indices are beautiful: Pin
Member 31167107-Mar-11 20:50
Member 31167107-Mar-11 20:50 
GeneralRe: Here's why 0-based indices are beautiful: Pin
MarqW7-Mar-11 21:02
MarqW7-Mar-11 21:02 
GeneralRe: Here's why 0-based indices are beautiful: Pin
Kamran Behzad10-Mar-11 17:10
Kamran Behzad10-Mar-11 17:10 
GeneralRe: Here's why 0-based indices are beautiful: Pin
Daniel Grunwald10-Mar-11 20:24
Daniel Grunwald10-Mar-11 20:24 
GeneralI can't Understand? Pin
Pritesh Aryan7-Mar-11 17:57
Pritesh Aryan7-Mar-11 17:57 
GeneralRe: I can't Understand? PinPopular
OriginalGriff7-Mar-11 21:35
mveOriginalGriff7-Mar-11 21:35 
GeneralPeople accepted the reality... Pin
Jun Du7-Mar-11 15:09
Jun Du7-Mar-11 15:09 
GeneralRe: People accepted the reality... Pin
Chaveca_8-Mar-11 23:00
Chaveca_8-Mar-11 23:00 
GeneralRe: People accepted the reality... Pin
Lex Steers10-Mar-11 6:48
Lex Steers10-Mar-11 6:48 
GeneralI don't give a rats Pin
Mycroft Holmes7-Mar-11 14:01
professionalMycroft Holmes7-Mar-11 14:01 
GeneralBoth? Pin
PJ Arends7-Mar-11 6:46
professionalPJ Arends7-Mar-11 6:46 
GeneralRe: Both? Pin
Nagy Vilmos7-Mar-11 7:10
professionalNagy Vilmos7-Mar-11 7:10 
GeneralRe: Both? Pin
PJ Arends7-Mar-11 7:19
professionalPJ Arends7-Mar-11 7:19 
GeneralRe: Both? Pin
#realJSOP8-Mar-11 10:11
mve#realJSOP8-Mar-11 10:11 
GeneralRe: Both? Pin
rittjc8-Mar-11 14:29
rittjc8-Mar-11 14:29 
GeneralMust be 0 in order to be consistent across "all" .NET languages. Pin
The Storm7-Mar-11 6:15
The Storm7-Mar-11 6:15 
GeneralRe: Must be 0 in order to be consistent across "all" .NET languages. Pin
Mike Hankey7-Mar-11 12:08
mveMike Hankey7-Mar-11 12:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.