次のようにC#のオブジェクトのリストがあります。
var items = new List<object> {
new { id = 1, parentId = 0, children = new List<object>() },
new { id = 2, parentId = 3, children = new List<object>() },
new { id = 3, parentId = 1, children = new List<object>() },
new { id = 4, parentId = 0, children = new List<object>() }
};
たとえば、id
リストの最初のオブジェクトのプロパティにアクセスしたいのですが、次のようなことをすると次のようになります。
items[0].id
次のエラーが発生します。
'object'には 'id'の定義が含まれておらず、タイプ 'object'の最初の引数を受け入れるアクセス可能な拡張メソッド 'id'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)
上記のオブジェクトのC#リストにある4つのオブジェクトリテラルのプロパティにアクセスするにはどうすればよいですか?
ありがとう。
これは、ここで物事を行うためのよりc#の方法だと思います。
class A
{
public int Id { get; set; }
public int ParentId { get; set; }
public List<A> Children { get; } = new List<A>();
}
class Program
{
static void Main(string[] args)
{
var items = new List<A> {
new A { Id = 1, ParentId = 0},
new A { Id = 2, ParentId = 3},
new A { Id = 3, ParentId = 1},
new A { Id = 4, ParentId = 0}
};
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加