Visual Basic 中以零起始與以一起始的字串存取之比較
更新:2007 年 11 月
這個主題會比較 Visual Basic 與 .NET Framework 如何對字串中的字元提供存取權。.NET Framework 一律對字串中的字元提供以零起始的存取權,而 Visual Basic 則提供以零起始與以一起始的存取權,視函式而定。
以一起始
若為以一起始的 Visual Basic 函式範例,考慮使用 Mid 函式。此函式使用的引數指出子字串的開始字元位置,從位置 1 開始。.NET FrameworkString.Substring 方法則使用子字串在字串中開始的字元索引,從位置 0 開始。因此,如果您的字串為「ABCDE」,使用 Mid 函式時,各個字元的編號為 1、2、3、4、5,但是使用 String.Substring 方法時則為 0、1、2、3、4。
以零起始
若為以零起始的 Visual Basic 函式範例,考慮使用 Split 函式。此函式會分隔字串,並傳回包含子字串的陣列。.NET FrameworkString.Split 方法也會分隔子串,並傳回包含子字串的陣列。因為 Split 函式與 Split 方法都會傳回 .NET Framework 陣列,因此它們必須是以零起始。