如何访问Unity中Text数组的元素?C#



我有一个文本数组,是否可以引用数组元素的名称,然后使用开关引用名称,类似于这样:switch(text.name ){ case: "Photo" action... break; case: "Room" action... break; }

有可能这样做吗?(

有可能像这个

switch (text.Name)
{
case string name when name == "Photo":
// some Action
break;
case string name when name == "Room":
// some Action
break;
default:
throw new System.Exception ("Some error");
}

但问题是你为什么不直接使用if (text.name == "Photo") { ... } else if (text.name == "Room") ...

或者更好的是,你能改变来源吗?所以你可以用enum代替string吗?这将有助于编译器在拼写错误时注意到您。

因评论而编辑:

也许我误解了你的问题。textstring[]吗?因为不想在数组上循环,也不想在不同的代码路径之间切换,所以根本不能使用switch。比你需要做类似的事情

foreach (var foo in text)
{
if (foo == "Photo")
{
}
else if (foo == "Room")
{
}
} 

最新更新