immagino che in memoria avrai una List<cantanti> o qualcosa di simile, in questo caso puoi utilizzare le Linq ed estrarre i dati come vuoi, presumo inoltre che dalla struct che hai postato di esempio hai volontariamente rimosso i modificatori di accesso, perchè se i campi per i quali vuoi filtrare non sono public (anche in sola lettura), non puoi vederli e quindi nemmeno filtrarli

ad esempio, ammettendo che la lista di cui sopra si chiami 'ListaCantanti'
codice:
var result = ListaCantanti.Where(c => c.genere == "house").Select(c => c).ToList();
Qualcosa di questo tipo dovrebbe aiutarti