-
プロパティの値を比較する方法: オブジェクト内の特定のプロパティの値を検索する場合、LINQを使用することができます。以下は、LINQを使用してオブジェクトのリストから特定のプロパティの値を検索する例です。
var objects = GetObjects(); // オブジェクトのリストを取得するメソッド var foundObjects = objects.Where(obj => obj.PropertyName == searchValue);
上記の例では、
GetObjects()
メソッドを使用してオブジェクトのリストを取得し、PropertyName
というプロパティの値がsearchValue
と一致するオブジェクトを検索しています。 -
メソッドを使用する方法: オブジェクト内の値を検索するために、オブジェクトに検索メソッドを実装することもできます。以下は、オブジェクト内のプロパティを比較するカスタムメソッドを使用した例です。
public class MyObject { public string PropertyName { get; set; } public bool ContainsValue(string searchValue) { return PropertyName.Contains(searchValue); } } var objects = GetObjects(); // オブジェクトのリストを取得するメソッド var foundObjects = objects.Where(obj => obj.ContainsValue(searchValue));
上記の例では、
MyObject
クラスにContainsValue
というメソッドを実装し、PropertyName
プロパティの値がsearchValue
を含むかどうかを確認しています。 -
インデックサを使用する方法: オブジェクトにインデックサを実装することで、特定の値を検索することもできます。以下は、インデックサを使用して特定の値を検索する例です。
public class MyObject { private List<string> values = new List<string>(); public string this[int index] { get { return values[index]; } set { values[index] = value; } } } var obj = new MyObject(); obj[0] = "value1"; obj[1] = "value2"; var foundValue = obj.FirstOrDefault(value => value == searchValue);
上記の例では、
MyObject
クラスにvalues
というリストを持つインデックサを実装し、FirstOrDefault
メソッドを使用してsearchValue
と一致する値を検索しています。
これらはC#でオブジェクト内の値を検索するための一般的な方法のいくつかです。必要に応じて、これらの例を参考にして適切な方法を選択してください。