홈>
큰 맞춤 목록을 검색하는 가장 좋은 방법은 무엇입니까? 예를 들어 다음과 같은 목록이 있습니다 ...
Dim BigList As New List(Of Button)
For i As Integer = 0 To 99999
Dim Btn As New Button With {.Text = "Button Number: " & i}
BigList.Add(Btn)
Next
이제 BigList에서 특정 버튼을 찾을 수 있도록하려면 ...
Dim BtnX As Button
BtnX = BigList.Find(Function(p) p.Text = "Button Number: 25784")
내 버튼 목록에 99,999 개의 버튼이 포함되어 있기 때문에 성능에 어떤 영향을 줍니까? 검색하기 전에 버튼의 .Text 속성을 정확히 알고 있다면 내 목록을 검색하는 더 좋고 빠른 방법은 무엇입니까?
- 답변 # 1
관련 자료
- python - %를 사용하여 큰 숫자 목록을 인쇄하는 방법은 무엇입니까?
- python - 결과를 문자열 목록으로 만드는 방법은 무엇입니까?
- python - 목록의 텍스트 파일을 어떻게 변형합니까?
- html - 정렬되지 않은 목록을 중앙에 배치하려면 어떻게합니까?
- drupal - 노드 제목으로 어떻게 쿼리 할 수 있습니까?
- vector : 파일에서 Vec으로 숫자 목록을 읽는 방법은 무엇입니까?
- Flutter for 루프로 목록을 표시하는 방법
- python - while 루프에서 목록을 어떻게 저장할 수 있습니까?
- python - 이 루프를 목록 이해력으로 변환하는 방법
- python - 값이 dict 목록에 있는지 확인하는 방법
- r - 파일 목록에서 파일 기반 목록을 rbind하는 방법
- javascript - 목록을 특정 수의 데이터에 매핑하는 방법
- reactjs - React의 목록에서 항목을 삭제하는 방법은 무엇입니까?
- ansible에서 목록을 목록 목록으로 변환하는 방법
- ios - SwiftUI에서 목록의 일부로 View ()를 전달하는 방법은 무엇입니까?
- kubernetes - CLI를 사용하여 kube-contexts 목록을 가져 오는 방법
- php - 목록에서 배열을 얻는 방법
- big sur - Big Sur Finder 툴바에 앱을 추가하는 방법은 무엇입니까?
- c# - SQL 테이블에 목록을 삽입하는 방법
- python - for 루프에서 목록의 일부 번호를 제외하는 방법
관련 질문
- c# : DataGridView 서브 클래 싱 : 클라이언트 영역 크기 변경
- vb.net - NET 상속 레이블이 자동 크기 조정되지 않음
- vb.net - 이름 VB로 특정 프린터 선택
- vb.net : Picturebox.click이 button.click과 다르게 작동합니까?
- VB.NET 차트-모든 데이터베이스 행 살펴보기
- vb.net - 콘솔에 쓰는 대신 텍스트 상자에 JSON 결과를 표시하려면 어떻게해야합니까?
- Sharepoint 연결 실패 (Winforms, VBNet)
- vbnet winform에서 모든 자식 컨트롤 찾기
- winforms - Mdi 부모를 개체로 열면 VBNet의 다른 Mdi 자식 양식에서 Mdi 자식 양식을 열 수 없습니다
- Microsoft Store는 Winforms에서 VB.Net으로 만든 앱을 지원합니까? WPF의 VB.Net?
먼저9999 개의 버튼 목록을 사용하는 것은 좋지 않습니다-애플리케이션의 전체 세션에 대한 제어가 제한되어 있습니다.
MSDN의모든 통제는
GDI Object
입니다 , 전달하면 애플리케이션 아키텍처에 문제가 있으며controls
를 사용하는 대신 예외가 발생합니다.가능하면 리소스를 절약하기 위해 System.Drawing.Graphics 클래스를 사용하십시오.
(GDI 개체) ) :
와이즈 비즈두 번째, 질문에
를 사용할 수 있습니다 LINQ 확장 방법 :또한
Dim btn As Button = BigList.FirstOrDefault(Function(p) p.Text = "Button Number: 25784")
를 사용한다면 또는HashSet<T>
당신은Array
에 비해 더 나은 성능을 가질 것입니다또 다른 접근법은 SortedDictionary -
List<T>
를 사용하고 있습니다. 그런 다음 이진 검색을 사용하여 사전의 키 (int16)를 사용하여 버튼을 찾으면 이진 검색이 LINQ보다 빠릅니다.SortedDictionary (Of Int16, Button)