2012-02-13 3 views
0

목록의 개체에서 해당 태그를 확인하려고합니다. 그리고 "clean"과 일치하는 각 태그에 대해 정수를 올려야합니다. 이것이 가능한가? 그렇다면 어떻게해야합니까?목록의 태그 C#

미리 감사드립니다.

P .: 이것은 내가 지금 가지고있는 것입니다. 당신은 Linq에로 시도 할 수

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>(); 
    } 
} 
+0

완전히 가능하고 또한 매우 쉽습니다. 온라인 검색을 제안하고 특정 질문을하고 나서 무엇을 생각해 낼 수 있는지 알아볼 것입니다. 그렇게하면 훨씬 더 배우게 될 것입니다. – CSharpened

+0

나는 이미 그렇게 해보았지만 간단한 대답을 찾는 것이 쉽지는 않다. 적어도 나를 위해 : S. – Amacoder

답변

3

:

int count = (from Object in List<T> where Object.Tags.Contains("clean") select Object).Count<T>()

그것은 "깨끗한"태그를 포함하는 목록에 당신에게 개체의 수를 반환합니다.

+0

답장을 보내 주셔서 감사합니다.하지만 제대로 작동 할 수있는 방법을 찾을 수 없습니다. 당신이 나를 도울 수? "Where '쿼리 표현식 패턴을 찾을 수 없습니다." 오류. 편집 된 게시물에서 최근 스크립트를 확인하십시오. – Amacoder

+1

시도해보십시오. 'int count = (o. 성분 (o)은 o를 선택합니다.) o .Count ();' – msancho

+0

효과가있었습니다! 고마워. 당신을위한 Internets! – Amacoder

0

방법에 대해 :

var itemsWithCleanTag = myList.Where(item => item.Tag == "clean"); 

foreach(var item in itemsWithCleanTag) 
{ 
    item.Raise(5); 
}