LINQ Lambda Expression/Statemene Expressionを使用して "// Foreachを使用した表示"ループ実装を作成するにはどうすればよいですか?LINQを使用したC#ディクショナリの処理
開発を簡単にし、ネストされたforeachループをできるだけ避けたいと思います。私は2番目のforeachステートメントでより多くのロジックを追加しようとしています.Lambda/Statement式を使用したいと思います。
internal class Program
{
internal class Country
{
public string CountryName { get; set; }
public int CountryCode { get; set; }
}
static void Main(string[] args)
{
List<Country> countries = new List<Country>()
{
new Country{CountryName = "India", CountryCode=1},
new Country{CountryName = "Andaman Nicobar", CountryCode=1},
new Country{CountryName = "United States of America", CountryCode=2},
new Country{CountryName = "Alaska", CountryCode=2},
new Country{CountryName = "Hawaii", CountryCode=2},
new Country{CountryName = "United Kingdom", CountryCode=3},
new Country{CountryName = "Australia", CountryCode=4}
};
Dictionary<int, List<Country>> countriesDictionary = new Dictionary<int, List<Country>>();
foreach (Country country in countries)
{
if (!countriesDictionary.ContainsKey(country.CountryCode))
countriesDictionary.Add(country.CountryCode, new List<Country>());
countriesDictionary[country.CountryCode].Add(country);
}
// Display using Foreach
foreach (int key in countriesDictionary.Keys)
{
List<Country> dCountries = countriesDictionary[key];
foreach (Country country in dCountries)
{
if (country.CountryCode.Equals(key))
{
Console.WriteLine(country.CountryName);
}
}
Console.WriteLine();
}
Console.ReadLine();
}
お勧めします。
あなたは 'countriesDictionary'辞書の国をすでにフィルタリングしていますが、なぜネストされたループで' dCountries'を検索していますか? –