[英]Tags in list c#
I want to check objects in a List for their tags. 我想检查列表中的对象以获取其标签。 And for each tag that matches "clean" an integer needs to be raised.
对于与“干净”匹配的每个标签,都需要增加一个整数。 Is this possible?
这可能吗? If so, how can I accomplish this?
如果是这样,我该怎么做?
Thanks in advance! 提前致谢!
PS: This is what I have now. PS:这就是我现在所拥有的。
using UnityEngine;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
public class productManager : MonoBehaviour {
public string ownerName = "";
public List<Transform> ingredients = new List<Transform>();
//public int count = (from Object in List<Transform> ingredients where Object.Tags.Contains("clean") select Object).Count<Transform>();
void Start(){
ownerName = transform.name;
name = ownerName + "'s ingredients";
}
void Update(){
int count = (from Object in List<Transform> where Object.Tags.Contains("clean") select Object).Count<Transform>();
}
}
You can try with Linq: 您可以尝试使用Linq:
int count = (from Object in List<T> where Object.Tags.Contains("clean") select Object).Count<T>()
It returns to you the number of objects in that list that contains the tag "clean". 它会向您返回该列表中包含标签“ clean”的对象数。
How about: 怎么样:
var itemsWithCleanTag = myList.Where(item => item.Tag == "clean");
foreach(var item in itemsWithCleanTag)
{
item.Raise(5);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.