|
■No96033 (やま さん) に返信
> var a= new List<string>(){ "赤", "黄", "青" };
>
> と
> string []b=new string[]{"赤","青","紫","黄","紺","銀色"}
>
> を使い、aの中にある色がbにあるのか確認したいという事です。
> あるときとないときで、処理を分けたいので
こんな感じで。
//テストデータ
var a = new List<string>() { "赤", "黄", "青", "金色" };
var b = new string[] { "赤", "青", "紫", "黄", "紺", "銀色" };
//foreachのみで実現
Console.WriteLine("==================");
var result = false;
foreach (var item_a in a)
{
result = false;
foreach(var item_b in b)
{
if(item_a == item_b)
{
result = true;
break;
}
}
if (result)
{
Console.WriteLine($"{item_a}はあった");
}
else
{
Console.WriteLine($"{item_a}はなかった");
}
}
//同じことをLINQで実現
Console.WriteLine("==================");
var list = a.Select(item_a => b.Any(item_b => item_b == item_a) ? $"{item_a}はあった" : $"{item_a}はなかった").ToList();
foreach(var item in list)
{
Console.WriteLine($"{item}");
}
|