字符串如何在VB中工作

时间:2017-06-26 15:42:53

标签: vbscript

我目前正在使用Active Directory重新编写Intranet网站,而古老的开发人员在VB中做了一切,我现在正在用C#和一些最新技术开发它。因此,我正在阅读他的代码,了解一些我很难掌握的功能(我快速浏览了VB以了解它是如何全局工作的)并且我不了解字符串在这里的工作原理。

例如,有以下声明:

Dim sGroups, oGroup
sGroups=activeDirectoryUserObject.memberOf //Returns groups that user belongs to
set oGroup = GetObject("LDAP://" & sGroups)
For j = 0 To UBound(sGroups)
    Set oGroup = GetObject("LDAP://" & sGroups(j)) //Here!!

什么是sGroups(j)?对我来说sGroups是一个字符串而不是一个数组,那么这里发生了什么?

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

伦纳德:

看来sGroups(j)是一个字符串,(j)部分是一个计数器。如果用户属于多个组,则可能会使用此功能。

此致

答案 1 :(得分:1)

字符串未在VBS / VBA / VB6中编制索引。而且VB.NET中的索引方法也不同。因此,如果对象被索引," sGroups(j)" 它不是字符串

找出sGroups的显而易见的方法是查看activeDirectoryUserObject及其memberOf属性。你应该做的,,你应该在这里包含那些代码,以便我们可以看到它。

如果它是一个没有文档的外部定义对象,则可以使用Typename()函数或VarType函数来提取信息。由于这是一个使用ASP脚本的网站,要么它将成为变体数组,要么脚本完全被破坏。

这两种方法都是可能的,因为你提供的脚本片段本身没有任何意义(另请参阅oGroup的重新定义,没有使用它的代码)。