は、このコード:私はこれらのような結果を得るように、私は、インデックス/カウントは "#" を置き換えることができますどのようにLINQ選択内でループインデックスにアクセスするにはどうすればよいですか?
Argentina has 3 customers: #. Cactus Comidas para llevar, #. Océano Atlántico Ltda., #. Rancho grande
Austria has 2 customers: #. Ernst Handel, #. Piccolo und mehr
Belgium has 2 customers: #. Maison Dewey, #. Suprêmes délices
Brazil has 9 customers: #. Comércio Mineiro, #. Familia Arquibaldo, #. Gourmet Lanchonetes, #. Hanari Carnes, #. Que Delícia, #. Queen Cozinha, #. Ricardo Adocicados, #. Tradição Hipermercados, #. Wellington Importadora
Canada has 3 customers: #. Bottom-Dollar Markets, #. Laughing Bacchus Wine Cellars, #. Mère Paillarde
Denmark has 2 customers: #. Simons bistro, #. Vaffeljernet
...
:
var customers = from cust in Customers
group cust by new {cust.Country} into grouping
select new
{
Country = grouping.Key.Country,
Customers = grouping
};
customers.ToList().ForEach(g =>
Console.WriteLine("{0} has {1} customers: {2}",
g.Country,
g.Customers.Count(),
String.Join(", ",g.Customers.Select(x => "#. " + x.CompanyName).ToArray())
));
customers.Dump();
は、これらの結果が得られ
Argentina has 3 customers: 1. Cactus Comidas para llevar, 2. Océano Atlántico Ltda., 3. Rancho grande
...
非常に興味深い、動作しますが、私が実際にインクリメントされていますか? –
@エドワード:これを見てください。 LINQ SELECTに2つのパラメータlambdaを使用して説明しています。 http://weblogs.asp.net/fmarguerie/archive/2008/11/10/using-the-select-linq-query-operator-with-indexes.aspx –
@Edward、私はSelect拡張機能で内部的にインクリメントされています新しい値が各値に対して渡されます。 – JaredPar