반응형
C# List<T> FindIndex 사용법
List를 사용 하여 목록을 사용 할 때
특정 값에 일치 하는 아이템의 인덱스( 0부터 시작 아이디)를 리턴 해주는 메소드 입니다.
메소드:
public int FindIndex (Predicate<T> match);
public int FindIndex (int startIndex, Predicate<T> match);
public int FindIndex (int startIndex, int count, Predicate<T> match);
리턴값:
성공 ) 찾는 항목이 있을 경우 0보다 큰 인덱스 값.
실패) 없을 경우 -1 값을 리턴
예제)
Unity C#
int index = itemList.FindIndex(x => x.name.Equals(itemName) );
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FindIndex : MonoBehaviour
{
class Item
{
public string name;
public int value;
public Item(string name, int value)
{
this.name = name;
this.value = value;
}
}
List<Item> itemList = new ();
void Start()
{
itemList.Add(new ("gold", 300) );
itemList.Add(new ("silver", 200) );
itemList.Add(new ("stone", 100) );
var myItem = FindItem("silver");
if (myItem != null)
{
print($"find result : {myItem.name} value {myItem.value}");
}
}
Item FindItem(string itemName)
{
int index = itemList.FindIndex(x => x.name.Equals(itemName) );
if( index < 0 )
{
return null;
}
return itemList[index];
}
}
|
cs |
출력
반응형
'C#' 카테고리의 다른 글
ArgumentException: Partial byte sequence encountered in the input. (0) | 2023.02.13 |
---|---|
C++ 클래스를 DLL로 C#에서 사용 하기 | Marshalling C++ class to C# (0) | 2023.01.30 |
C# 온라인 컴파일러 & 코딩 사이트 C# online compiler (0) | 2022.12.07 |
C# 숫자에 플러스 마이너스 (+ , - ) 기호 붙혀서 출력 하는 방법 C# string format plus minus sign (4) | 2022.12.07 |
C# Math.Clamp - 원하는 범위 안에 숫자를 제한 하기 (0) | 2022.11.29 |