如果是對於數組 的 成員進行查找,如果用 For或者Foreach循環語句,可以查找多個變量。
而Array.Find函數可以 更快的查找一個 數組中 單個變量。
...
List<int> int_list = new List<int>();
...
if (int_list.Count >0)
{
int[] int_array = int_list.ToArray();
int p = Array.Find(int_array, _p => _p.instanceID == 123);
Debug.Log(" int: "+ p);
}
...
List數組如果使用Array.find必須 先轉換 爲Array數組。
如果用for或者foreach語句,就會這樣,結果都是一樣。
...
class test : MonoBehaviour
{
...
List<int> int_list = new List<int>();
...
void test_int1(){
if (int_list.Count >0)
{
for(int i=0;i< int_list.Count;i++)
{
if(int_list[i] == 123)
{
Debug.Log(" int: "+ int_list[i]);
}
}
}
}//test_int1()
...
...
List<Data_int> Dataint_list = new List<Data_int>();
...
void test_int2(){
if (int_list.Count >0)
{
for(int i=0;i< 3;i++)
{
Data_int data_int = new Data_int();
data_int.int_1 = i +10;
data_int.int_2 = i +20;
data_int.int_3 = i +30;
Dataint_list.add(data_int);
}
int[] Dataint_array = Dataint_list.ToArray();
Data_int p = Array.Find(Dataint_array, _p => _p.int_2 == 22);
Debug.Log(" Data_int: "+ p.int_1+"///"+ p.int_2+"///"+ p.int_3+"///");
}
}//test_int2()
...
}//end class
/// <summary>
/// 用於存放 保存的數據
/// </summary>
[System.Serializable]
public class Data_int
{
public int int_1;
public int int_2;
public int int_3;
}//Data_int