Visual Basic 中以零起始與以一起始的字串存取之比較
這個主題會比較 Visual Basic 與 .NET Framework 如何對字串中的字元提供存取權。 .NET Framework 一律對字串中的字元提供以零起始的存取權,而 Visual Basic 則提供以零起始與以一起始的存取權,視函式而定。
以一起始
若為以一起始的 Visual Basic 函式範例,考慮使用 Mid 函式。 它會採用一個引數,表示子字串將要起始的字元位置 (起始位置為 1)。 .NET Framework String.Substring 方法會採用子字串在字串中起始的字元索引 (起始位置為 0)。 因此,如果您有字串 "ABCDE",則個別的字元會編號為 1、2、3、4、5 以便用於 Mid 函式,但 0、1、2、3、4 則用於 String.Substring 方法。
以零起始
若為以零起始的 Visual Basic 函式範例,考慮使用 Split 函式。 此函式會分隔字串,並傳回包含子字串的陣列。 .NET Framework String.Split 方法也會分隔子串,並傳回包含子字串的陣列。 因為 Split 函式與 Split 方法都會傳回 .NET Framework 陣列,因此它們必須是以零起始。