ich eine benutzerdefinierte Klasse int alsKann nicht implicity IEnumerable <int> konvertieren Linq Abfrage
public class PhoneTypeListInfo
{
public string AccountNum { get; set; }
public int PhoneType { get; set; }
public string PhoneNum { get; set; }
}
folgt Ich brauche die PhoneType
, durch den PhoneNumber
Wert abzurufen ich die Abfrage zur Verfügung stellen.
Also ich verwende diese Methode und Abfrage.
protected int RetrievePhoneType(List<PhoneTypeListInfo> xPhoneTypeList, string info)
{
int type;
type = xPhoneTypeList.Where(p => p.PhoneNum == info).Select(p => p.PhoneType);
return type;
}
ist dies nicht der richtige Weg, oder muss ich es als int
werfen?
BEARBEITEN Es sieht so aus, als könnte es mehrere Konten geben, die dieselbe Telefonnummer haben könnten. Ich muss eine zusätzliche Where-Klausel übergeben. Und verwenden Sie dann die FirstOrDefault()
Wenn Sie nur ein Ergebnis suchen, fügen Sie '.FirstOrDefault()' hinzu Ende der Abfrage 'Select' gibt eine' IEnumerable '(eine Collectoin) zurück, * even * wenn es nur ein Ergebnis gibt. –
Tim