0

在 C# 中,我可以这样做:

public string[] MyStrings;
...
...
if(MyStrings.Contains("bob")) ...

在 ObjectScript 中这是如何完成的?

对于%ArrayOfObjects类型,我看不到我在这里寻找的确切内容

我试过的:

#Dim MyStrings As %ArrayOfDataTypes
do MyStrings.SetAt("User","User")   
do MyStrings.SetAt("Users","Users")
do MyStrings.SetAt("Group","Group")
do MyStrings.SetAt("Groups","Groups")

// if MyStrings contains Groups
if MyStrings.GetAt("Groups") '= ""
{
}
4

3 回答 3

2

听起来您想要.IsDefined() 方法。例如:

#Dim MyStrings As %ArrayOfDataTypes
do MyStrings.SetAt("User","User")   
do MyStrings.SetAt("Users","Users")
do MyStrings.SetAt("Group","Group")
do MyStrings.SetAt("Groups","Groups")

// if MyStrings contains Groups
if MyStrings.IsDefined("Groups")
{
    // code to execute if MyStrings contained "Groups"
}
于 2012-11-06T18:03:34.090 回答
1

我不熟悉那种语言,但你能试试类似的东西:

//declare myString to hold a string
set myString = MyStrings.GetNext("")
While myString '= ""
{
    if MyStrings.GetAt(myString) '= ""  //Or should it be something like myString.value?  Is there a way to check the type of an object to see if it is a string?
    {
        //Do something here.  Exit loop if you are trying to find just a match.
    }
}

我假设'=相当于!=在 C# 中。

于 2012-11-02T20:15:40.917 回答
1

你做对了。我建议使用您自己的方法创建 %Library.ArrayOfDataTypes 的子类,例如“包含”。

使用您自己控制的类可能比您不使用的库类更安全一些(尽管在紧要关头,您总是可以使用 %Dictionary 包方法将对库类的所有引用切换到您的新类设计,所以这没什么大不了的)。

于 2012-11-02T20:18:33.087 回答