Anyメソッドを使用すると、指定した条件値が含まれるかどうかを調べることができます。
Anyメソッドに条件を指定すると、満たされているデータがある場合はtrueを返します。
例として、氏名、年齢、体重のデータを持つ3人分のデータを作成して、その中から体重が55kg未満、年齢が28歳以下のデータが含まれているかどうかを調べてみます。
VBの例
Public Class Person Public Property Name As String Public Property Age As Integer Public Property Weight End Class Private Sub CheckAgeWeight() Dim persons As Person() = { New Person() With {.Name = "HIRO", .Age = 42, .Weight = 60}, New Person() With {.Name = "KAZU", .Age = 38, .Weight = 50}, New Person() With {.Name = "RUI", .Age = 28, .Weight = 45}} Dim bCondition As Boolean = persons.Any(Function(p) p.Weight < 55 AndAlso p.Age <= 28) Console.WriteLine(String.Format("体重が55kg未満で年齢が28歳以下の人が{0}", IIf(bCondition, "いる", "いない"))) End Sub
C#の例
class Person { public string Name { get; set; } public int Age { get; set; } public int Weight { get; set; } } private void CheckAgeWeight { Person[] persons = { new Person {Name = "HIRO", Age = 42, Weight= 60}, new Person {Name = "KAZU", Age = 38, Weight= 50}, new Person {Name = "RUI", Age = 28, Weight = 45} }; bool bCondition = persons.Any(p => p.Weight < 55 && p.Age <= 28); Console.WriteLine("体重が55kg未満で年齢が28歳以下の人が{0}", bCondition ? "いる": "いない"); }
上の例ではAnyメソッドの引数に p => p.Weight < 55 && p.Age <= 28 を指定しています。
データにはWeight(体重)が55kg未満の人が2人、Age(年齢)が28歳以下の人が1人いるので、この条件値は満たされれ、bConditionにはtrueが代入されます。
結果として、「体重が55kg未満で年齢が28歳以下の人がいる」が出力されます。
Please follow and like us:
コメント