42

私はLinqが初めてです。Customers table.ID,FullName,Organization,Location が列になっています。Sqlite で 2500 件の顧客レコードを返すクエリがあります。この結果セットから、たとえば ID=150 の顧客のインデックスを見つける必要があります。その顧客のリスト。クエリの結果セットは組織別に並べられています。FindIndex と IndexOf を試しましたが、前者ではエラーが発生し、後者では -1 が発生しました。それで、それはどのように行われるべきですか?ありがとう。

4

2 に答える 2

85

を使用する必要はありません。次をLINQ使用できます。FindIndexList<T>

int index = customers.FindIndex(c => c.ID == 150);
于 2013-08-07T16:40:34.200 に答える
34

Linq to Objects はSelectメソッドをオーバーロードしています

customers.Select((c,i) => new { Customer = c, Index = i })
         .Where(x => x.Customer.ID == 150)
         .Select(x => x.Index);

List<Customer>この Linq to Objects メソッドを使用するには、インメモリが必要であることに注意してください。

于 2013-08-07T16:35:01.120 に答える