如果是对于数组 的 成员进行查找,如果用 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