我试图将数组元素与变量进行比较,但我总是收到此错误,并且我不知道如何修复它。
使用系统; 使用 System.Linq;
public string[] groups = new string[120] { "hydrogenScreen" , "heliumScreen", "menu", "li", "be", "b", "c", "n", "o", "f", "ne", "na", "mg", "al", "si", "p", "s", "cl", "ar", "k", "ca","sc", "ti","v", "cr","mn","fe","co", "ni", "cu", "zn", "ga", "ge", "as", "se", "br", "kr", "rb", "sr", "y" , "zr", "nb", "mo", "tc", "ru" , "rh", "pd", "ag", "cd", "in" , "sn", "sb" , "te", "i", "xe", "cs", "ba", "la", "ce", "pr", "nd", "pm", "sm", "eu", "gd", "tb", "dy", "ho", "er", "tm", "yb", "hf", "ta", "w", "re", "os", "ir", "pt", "au", "hg", "tl", "pb", "bi", "po", "at", "rn", "fr", "ra", "ac", "th", "pa", "u", "np", "pu", "am", "cm", "bk", "cf", "es", "fm", "md", "no", "lr", "rf", "db", "sg", "bh", "hs", "mt", "ds", "rg", "cn", "nh", "fl", "mc", "lv", "ts", "og" };
public void effectiveTabChange(CanvasGroup 组,字符串组) {
for (int n = 0; n < 119; n++)
{
string check;
check = group.ToString();
string check1 = groups[n].ToString();
if (check.Equals(check1))
{
ActivateTabs(group);
}
else
{
DeactivateTabs(group);
}
}
}
它是统一的按钮来更改选项卡,但是当我单击它时,它也会给我索引超出范围的错误
将其替换为
for (int n = 0; n < groups.Length; n++)
。
这样您以后就可以更改该数组的长度,而无需再次触及该循环。它还会自动为您提供正确的上限。 (你是其中之一)
供您参考:https://learn.microsoft.com/en-us/dotnet/api/system.array.length?view=net-9.0