>백엔드 개발 >C#.Net 튜토리얼 >C# 기본 작업 최적화 예제 튜토리얼

C# 기본 작업 최적화 예제 튜토리얼

零下一度
零下一度원래의
2017-06-24 09:56:211629검색

데이터 쿼리 및 삭제와 같은 기본 작업은 모든 프로그래밍 언어의 기본입니다. 따라서 C#에서 더 일반적으로 사용되는 데이터 작업 유형을 연구하고 기록했습니다.

List를 쿼리할 때 처리량이 상대적으로 큰 경우 HashSet< List는 선형 테이블 연산을 기반으로 하기 때문에 데이터에 사용됩니다. 그러나 이진 검색(BinarySearch)이 포함되어 있으므로 저장 후 정렬이 가능합니다. 또한 다음과 같습니다. Dictionary>는 List 개체를 검색하기 위해 Dictionary의 효율적인 검색 쿼리 기능을 사용합니다. 그러나 데이터는 List를 사용하여 저장됩니다. 중복된 컬렉션 클래스를 포함하지 않는 유형입니다. 이 컬렉션은 해시 값을 기반으로 하며 HashTable와 비교할 때 이 컬렉션 클래스는 하나의 유형 매개변수만 포함하며 키-값을 기반으로 하지 않습니다. 필요한 경우 요소가 존재하는지 확인하려면 Contains() 메서드를 호출하면 됩니다.

목록 검색 복잡도 O(n), HashSet 검색 복잡도 O(1)


Dictionary 클래스의 삭제 및 추가 :

기본적으로 정렬하지 않고 추가합니다. 요소의 위치는 요소가 삭제된 위치입니다.

정렬된 경우 추가된 요소의 위치는 여전히 정렬되지 않은 요소의 위치입니다.

static void Main(string[] args)
        {
            Dictionary<int, int> _dic = new Dictionary<int, int>();

            _dic.Add(3, 3);
            _dic.Add(1, 1);
            _dic.Add(2, 2);
            _dic.Add(6, 6);

            Console.WriteLine("未经排序:");foreach (var k in _dic)
            {
                Console.WriteLine(k.Key + "   " + k.Value);
            }var dic_sort = from dic in _dic orderby dic.Key select dic;
            Console.WriteLine("未经处理:");foreach (var k in dic_sort)
            {
                Console.WriteLine(k.Key + "   " + k.Value);
            }

            Console.WriteLine("经过删除添加处理:");
            _dic.Remove(2);
            _dic.Add(4, 4);foreach (var k in _dic)
            {
                Console.WriteLine(k.Key + "   " + k.Value);
            }

            Console.Read();
        }
직접 테스트해 볼 수도 있습니다...

위 내용은 C# 기본 작업 최적화 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.