gpt4 book ai didi

vb.net - Visual Basic 中的数组

转载 作者:行者123 更新时间:2023-12-05 08:14:44 27 4
gpt4 key购买 nike

在 VB 中声明数组时,您是否会将零元素留空并调整代码以使其更加用户友好?

这是针对 Visual Basic 2008

最佳答案

不,我不会那样做。似乎可能有助于可维护性,但这是一种非常短视的观点。

这样想。每个必须理解和维护代码的程序员只需要很短的时间就可以熟悉零索引数组。但是,如果您使用的是基于一的数组,这与几乎所有其他 VB.NET 代码以及实际上几乎所有其他常见编程语言中的数组不同,那么团队中的每个人都会花费更长的时间。他们会不断犯错,因为他们的自然假设在这个一个特殊情况中不准确而被绊倒。

我知道那种感觉。当我在 VB 6 中工作时,我喜欢基于 1 的数组。它们对于我存储的数据类型来说非常自然,我到处都在使用它们。此处可完美记录,因为您有明确的语法来指定数组的上限 和下限。在 VB.NET(这是一个较新但不兼容的 Visual Basic 语言版本)中情况并非如此,其中所有数组都必须为零索引。最初几天,我很难切换到 VB.NET 的基于零的数组。经过最初的调整期后,老实说我从未回头。

有些人可能会争辩说,将每个数组的第一个元素留空会不必要地消耗额外的内存。虽然这显然是正确的,但我认为这是我上面提到的原因背后的次要原因。优秀的开发人员编写代码供他人阅读,因此我赞扬您考虑如何使您的代码具有逻辑性和可理解性。你问这个问题是在正确的道路上。但从长远来看,我认为这个决定不是一个好决定。

非常特殊的情况中可能会有一些异常(exception),这取决于您存储在数组中的数据类型。但同样,如果不能全面做到这一点,似乎会损害整体的可读性,而不是帮助它。一旦您了解了数组的索引方式,简单地编写以下内容并不是特别违反直觉:

For i As Integer = 0 To (myArray.Length - 1)
'Do work
Next

请记住,在 VB.NET 中,您还可以使用 For Each 语句来遍历数组元素,许多人认为这样更易读。例如:

 For Each i As Integer In myArray
'Do work
Next

关于vb.net - Visual Basic 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5450519/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com