c#数组给数组赋值

我想在person中查找cardNo,但person是自己定义的类
int Locate(Card[] person, long cardNo)
{
int i = Array.BinarySearch(person,cardNo);
if (i <= 0)
return -1;
return i;
}
如上代码,运行现实“未能比较数组中的两个元素。”
怎么在定义一个long型数组,person中的cardNo赋值给他。

第1个回答  2012-05-16
看你在用Array类,我就不给你写linq的方式。还是net2的原始处理方式

long[] CardNos= Array.ConvertAll(person,delegate(Card p)
{
return p.cardNo;
} );
这是按你的问题本意完成的
第2个回答  2012-05-16
static int Locate(Card[] people, long cardNo)
{
for (int i = 0; i < people.Length; i++)
{
if (people[i].CardNo == cardNo)
{
return i;
}
}
return -1;
}

long [] b;
b=a.Select(r=>r.CardNo).ToArray();本回答被提问者采纳
第3个回答  2012-05-16
由于你传的是数组对象,如果希望访问某个card , 必须再传一个index 参数,或者在内容用循环去便历这个对象. 感觉你的描述完全没说清楚问题.
相似回答
大家正在搜