2017-08-10 102 views
0

我想要一個通過整個數組的if語句,如果它找到名稱以「Button」開頭的元素並且之後它可以是任何東西,像:通過匹配字符串和通配符來查找數組元素

if (Array[i].name == "Button*") 

因此,例如,當一個元素的名稱爲那將是真正的「Button1的」或「ButtonBlaBlaBla」,但它是假的,如果名稱不以「按鈕」開始,例如「 1Button」。 PS:我在團結工作,但我非常肯定這與它無關,所以我在這裏發佈。如果有關於同一問題的現有帖子,請將其鏈接到我。

+0

感謝您的幫助。 – tiancar

+0

不客氣。但順便說一句,這種名稱檢查在Unity中並不是一個好主意。嘗試附加標籤。如果你的按鈕被標記爲「按鈕」(在檢查器中設置標籤),檢查'button.CompareTag(「按鈕」)'是非常快的,並且它更安全一些,因爲你不能錯誤標記對象(標籤由編輯器存儲)。 – piojo

+0

您還可以檢查按鈕上的組件:檢查button.GetComponent ()!= null是否更好,如果您需要該組件的信息,將其存儲在變量中,然後檢查它是否爲null 。 (因爲在遊戲開發中,如果沒有理由,通常不需要兩次調用函數。) – piojo

回答

1

檢查是否name.StartsWith("Button")用於匹配Button*name.EndsWith("Button")匹配*Button。並匹配*Button*,檢查name.Contains("Button")

2

您需要使用StartsWith()

if(Array[i].name.StartsWith("Button")) 
1

有你有:

if(Array[i].name.StartsWith ("Button")) 
相關問題