C# 使用对象字段在列表中查找对象

马克·拉斯穆森

所以我有以下几点List

List<AttackStyle> AttackStyles = new List<AttackStyle>();

使用以下类型的对象:

AttackStyle lStyle = new AttackStyle();
lStyle.Name = "Attack Achilles";
lStyle.ParameterID = 0;
lStyle.Forward = Vector3.forward;
lStyle.HorizontalFOA = 70f;
lStyle.VerticalFOA = 40f;
lStyle.DamageModifier = 1f;
lStyle.ActionStyleAlias = "Jump";
lStyle.IsInterruptible = true;

AttackStyles.Add(lStyle);

现在,我希望能够找到外地ParameterID,其中ActionStyleAlias等于一个值(例如"Jump"

这是针对 Unity 应用程序的,因此搜索/查找需要尽可能快。

我的天啊

直接的解决方案是:

 var pId = AttackStyles.FirstOrDefault(x=> x.ActionStyleAlias == "Jump")?.ParameterID

但是如果你想获得更好的性能,最好是索引你想要的最有用的属性。因此,在最有用的字段上构建字典以及时获得更好的性能。例如:

   var styles = new Dictionary<string, AttackStyle>();
   styles.Add("Jump", new AttackStyle() 
                      {
                           Name = "Attack Achilles",
                           ParameterID = 0,
                           Forward = Vector3.forward,
                           HorizontalFOA = 70f,
                           VerticalFOA = 40f,
                           DamageModifier = 1f,
                           ActionStyleAlias = "Jump",
                           IsInterruptible = true
                      });

然后,通过这个找到对象:

var pId = styles["Jump"].ParamterId;

或者如果它可能为空:

if(styles.Keys.Contains("Jump"))
    var pId = styles["Jump"].ParamterId;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C#中查找对象类型?

来自分类Dev

C ++在Vector中查找对象成员值

来自分类Dev

Objective-C,从数组中查找对象

来自分类Dev

C ++在Vector中查找对象成员值

来自分类Dev

查找对象c#的类型

来自分类Dev

在列表中查找对象

来自分类Dev

在列表中查找对象

来自分类Dev

递归查找对象的子对象 c#

来自分类Dev

使用流在列表列表中查找对象

来自分类Dev

Unity / C#查找对象并获取组件

来自分类Dev

查找对象的属性并获取其值-C#

来自分类Dev

从地图内的列表中查找对象

来自分类Dev

从地图内的列表中查找对象

来自分类Dev

从 plsql 中的对象列表中查找对象

来自分类Dev

使用find()在JSON中查找对象

来自分类Dev

使用RegExp在JSON中查找对象

来自分类Dev

Java查找对象列表中不包含的对象

来自分类Dev

使用指针的C ++中的对象的经典列表

来自分类Dev

如何使用lodash在嵌套的对象数组中查找对象?

来自分类Dev

使用HashMap查找对象

来自分类Dev

从列表中查找对象数组中的值

来自分类Dev

Qt:按属性在列表中查找对象

来自分类Dev

在Python中查找对象内部列表的长度

来自分类Dev

在列表中查找对象并替换其值

来自分类Dev

从树或列表层次结构中查找对象

来自分类Dev

如何通过列表中的属性值获取/查找对象

来自分类Dev

R:在深层嵌套列表中按名称查找对象

来自分类Dev

在列表中查找对象并替换其值

来自分类Dev

如何按属性在python列表中查找对象