c # Поиск в структурированном списке - PullRequest
0 голосов
/ 24 мая 2018

У меня есть список на основе структуры

public struct MemoryLocation
{
    public byte address;
    public byte data;
}

public List<MemoryLocation> EEPromCurrList=new List<MemoryLocation>();

Я хотел бы заполнить этот список и после этого поиска, используя одно из свойств, например

MemoryLocation tmpMemCurr;
Random rnd = new Random();
for (int i=0;i<10;i++)
{
    tmpMemCurr.address=(byte)rnd.Next(i,100);
    tmpMemCurr.data=(byte)rnd.Next(i,10);
    EEPromCurrList.Add(tmpMemCurr);
}

Now The Goalследует искать в EEPromCurrList, существует ли заданный адрес, например, 8, и есть ли его значение или индекс в списке.

Мне это нужно, потому что мне нужно сравнить два списка разной длины и проверить, совпадает ли адресони имеют одинаковую ценность.

1 Ответ

0 голосов
/ 24 мая 2018

Как только вы закончите заполнять список, вы можете искать его, используя

//search by address
var memoryLocation=tmpMemCurr.Where(x=>x.address==data to be searched).FirstOrDefault();
//search by data
var memoryLocation=tmpMemCurr.Where(x=>x.d==data to be searched).FirstOrDefault();

Если доступно, оно даст вам соответствующее расположение памяти, иначе ноль.

Я не уверен, если вы хотитеиндекс, но если вам это нужно,

var index=tmpMemCurr.FindIndex(x=>x.address==data to be searched); 
//returns 0-based index, else-1

Если это все еще не помогает, просто немного уточнить с примерами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...