簡體   English   中英

數組在選擇隨機項 C#/Unity 時不給出越界錯誤消息

[英]Array doesnt give an Out of bounds Error Message while picking a Random item C#/Unity

我有一個初學者問題。 為什么此代碼不會導致錯誤消息?

public Tile[] tiles = new Tile[2];
...
SetTile(0, 0, 0, nocollide, tiles[Random.Range(0,2)]);

數組中有兩個項目,但我選擇一個從 0 到 2 的值,即三個項目。 當我達到 0,1 時,它只會選擇第一個項目。 但為什么?

public static int Range(int min, int max);

描述

原因很簡單,返回一個介於 min [ inclusive ] 和 max [ exclusive ] 之間的隨機 integer 數(只讀)。

max 是獨占的。 Random.Range(0, 10) 可以返回 0 到 9 之間的值。

如果要包含最大值,則可以使用以下重載方法。

public static float Range(float min, float max);

描述

返回 min [ inclusive ] 和 max [ inclusive ] 之間的隨機浮點數(只讀)。

max 是包容性的。 Random.Range(0.0f, 1.0f) 可以返回 1.0 作為值。

參考: https://docs.unity3d.com/ScriptReference/Random.Range.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM