基于传入的字符串从基类的列表列表返回列表的最佳方法是什么
基于传入的字符串从基类的列表列表返回列表的最佳方法是什么。我已经知道:
public List<myBaseData> FindFromListofLists(string aClass, List<List<myBaseData>> data)
{
foreach (var item in data)
{
foreach(myBaseData baseData in item)
{
if (baseData.ToString().CompareTo(aClass) == 0) //not sure if this is the best way as if the class overides the toString method...
return item;
}
}
return null;
}
我确信有更好的方法来做到这一点。任何帮助将不胜感激。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
尝试 -
您也可以尝试将其编写为 -
请注意,该代码未经测试:P
Try -
You can also try to write it as -
Please note that the code is untested :P
这是你需要的吗?
如何合并列表
>>在 C#
中,然后您可以使用
.Where()
方法将结果范围缩小到那些匹配aClass
的结果。Is this what you need?
How to Union List<List<String>> in C#
And then you can use the
.Where()
method to narrow down the results to those matchingaClass
.您可以使用:
代替第二个“foreach”。
这就是动态列表的伟大之处。
you can use:
instead of your second "foreach".
and that's the great thing about dynamic lists.
我会使用
Dictionary>
或Dictionary>
代替List
。 >
Dictionary-s
TryGet
方法正是您在FindFromListofLists
中所需要的I would use a
Dictionary<string, List<myBaseData>>
orDictionary<Type, List<myBaseData>>
insted ofList<List<myBaseData>>
The Dictionary-s
TryGet
method does exactly what you need inFindFromListofLists
我认为你想要实现的目标就是这个。
然后在其他地方您只想返回 MyChildClass 对象。
这就是你需要做的:
然后你像这样调用这个方法:
希望这就是你正在寻找的。
I think what you are trying to achieve is this.
then somewhere else you want to return only the MyChildClass objects.
this is what you need to do:
then you call this method like this:
Hope this is what you are looking for.