gpt4 book ai didi

c# - 通过命名数组提供内部列表访问

转载 作者:行者123 更新时间:2023-11-30 20:11:58 25 4
gpt4 key购买 nike

我有一个类,其中包含其他对象的内部列表,如下所示:

public class Parent
{
List<Child> _children;
}

Child say 看起来像这样:

public class Child
{
public string Name;
}

我想做的是设置 parent 可以像这样访问 _children 的成员:

...
Child kid = parentInstance["Billy"]; // would find a Child instance
// whose name value is Billy
...

这可能吗?我显然可以做这样的事情:

Child kid = parentInstance.GetChild("Billy");

但我更喜欢数组/字典这样的语法。如果不是,这也没什么大不了的,而且我不想为了语法糖而跳过一百万圈。

最佳答案

你可以定义一个 indexed propertyParent 类:

public class Parent
{
List<Child> _children;

public Child this[string name]
{
get
{
return (_children ?? Enumerable.Empty<Child>())
.Where(c => c.Name == name)
.FirstOrDefault();
}
}
}

关于c# - 通过命名数组提供内部列表访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3102345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com