IT/C#

[C#_List] Find 검색

배당 줍는 다람쥐 2021. 10. 1. 10:20
반응형

List의 유용함

  • C# 닷넷 프레임워크에서는 다른 프로그래밍 언어의 기능에는 없는 List<>를 지원
  • 구조체 단위의 데이터 리스트를 사용할 때, 유용
    • 자바의 경우, 배열을 사용하는데, 배열은 메모리나 인덱스 관리가 중요함
  • 데이터 삭제, 변경에 용이
  • 추가로 배열로 변환도 가능하여, 닷넷으로 프로그래밍을 할 때는 배열보단 List<>를 사용하길 추천

Find 검색과 FindIndex 검색

  • Find 관련 메소드에는 구조체를 통째로 반환해주는 함수와 인덱스만 반환하는 함수가 있습니다.
  • Find 함수의 경우, 가장 먼저 찾은 구조체를 반환하니, 모든 데이터를 검색해서 반환받으려면 다른 함수를 사용해야 합니다.

 

using System;

namespace FindEx
{
	struct Temp {
		public string TempString;
	}

	class Program
	{
		List<Temp> TempList = new List<Temp>();
    
		// 데이터를 포함한 구조체를 검색할때
		Temp result = TempList.Find(x => x.TempString == "abcdef123");
		//성공시 해당 검색 결과를 가진 구조체 반환
		//실패시 구조체 초기값 반환

		//데이터를 포함한 구조체의 List 내의 인덱스를 구할때
		int nIndex = TempList.FindIndex(x => x.TempString == "abcdef123");
		//성공시 해당 구조체의 인덱스 반환 ( 0 ~ )
		//실패시 -1 반환
	}
}

 

 

반응형