내 SetValues 목록에 두 개의 변수를 추가하고 있습니다. 변수는 위치와 값입니다. 이제 내 목록에서 최대 값과 최소값이 무엇인지 확인하고 싶습니다 ( "값"만 해당). 이제 다음을 수행 할 때 :
[Serializable]
public struct SetValues {
public float Position;
public float Value;
}
public List<SetValues> setValues;
void Start () {
Debug.Log (setValues.Value.Min ());
}
"값에 대한 정의를 포함하지 않으며 유형의 첫 번째 인수를 허용하는 액세스 가능한 확장 메소드 '값'을 찾을 수 없습니다."라고 말합니다. List를 사용하려는 유일한 이유는 배열을 사용할 때 수행해야하는 반복을 피하기 위해서입니다. 하지만 여기서 내가하는 실수는 무엇입니까?
Linq 네임 스페이스에 제공된 IEnumerable 확장을 처리 할 수 있습니다. min에 대한 간단한 코드 줄과 max에 대한 다른 코드입니다.
var minV = setValues.Min(x => x.Value);
var maxV = setValues.Max(x => x.Value);
그러나 목록에 대한 반복은 피할 수 없습니다. Min 및 Max 확장에는 요청 된 값을 찾는 숨겨진 루프가 포함되어 있습니다.
setValues 가 SetValues 객체 의 목록 이므로 코드가 작동하지 않습니다 . 대소 문자가 다른 문자로 우리에게는 혼란 스럽지만 컴파일러에 대해 불평하는 것은 명확한 오류입니다. 클래스에 대해 다른 이름을 찾거나 목록 변수에 대해 다른 이름을 찾는 것이 좋습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다