public unsafe int FindByAccount(string sAccount, ref ArrayList ChrNameList) { var FindHumList = from Hum in HumInfoSet where Hum.sAccount == sAccount select Hum; if (FindHumList.Count <HumInfo>() > 0) { foreach (HumInfo item in FindHumList) { THumInfo HumRecord = default(THumInfo); HumRecord.Header.boDeleted = item.boDeleted.Value; HumRecord.Header.boIsHero = item.boIsHero.Value; HumRecord.Header.bt2 = item.bt2.Value; HumRecord.Header.dCreateDate = item.dCreateDate.Value; HumRecord.Header.nSelectID = item.nSelectID.Value; HumRecord.Header.sName = item.sName; //HUtil32.StringToSBytePtr(item.sName, HumRecord.Header.sName, 0); HumRecord.Header.NameLen = 15; HumRecord.boDeleted = item.boDeleted1.Value; HumRecord.boIsHero = item.boIsHero1.Value; HumRecord.boSelected = item.boSelected.Value; HumRecord.btCount = item.btCount.Value; HumRecord.dModDate = DateTime.FromOADate(item.dModDate.Value); HUtil32.ByteArrayToBytePtr(HumRecord.n6, 6, item.n6); HumRecord.sAccount = item.sAccount; //HUtil32.StringToSBytePtr(item.sAccount, HumRecord.sAccount, 0); HumRecord.AccountLen = 30; HumRecord.sChrName = item.sChrName; //HUtil32.StringToSBytePtr(item.sChrName, HumRecord.sChrName, 0); HumRecord.ChrNameLen = 14; ChrNameList.Add(HumRecord); } return(FindHumList.Count <HumInfo>()); } ChrNameList = null; return(-1); }