c list dictionary tutorial with code examples
이 자습서에서는 예제와 함께 C # 목록 및 사전을 설명합니다. C # 사전 및 목록에서 요소를 초기화, 채우기 및 액세스하는 방법을 배우게됩니다.
C # 컬렉션에 대한 이전 자습서에서 ArrayList, Hashtable, Stack, SortedList 등과 같은 C #에있는 컬렉션 유형에 대해 배웠습니다. 이러한 컬렉션 유형간에 공통적 인 점은 모든 유형의 데이터 항목을 저장할 수 있다는 것입니다.
이것은 단일 컬렉션 엔터티 내에 다른 데이터 유형을 저장하는 데 매우 유용 해 보이지만 단점은 컬렉션에서 데이터를 검색하는 동안 해당 데이터 유형으로의 데이터 캐스팅이 필요하다는 것입니다. 데이터 캐스트가 없으면 프로그램은 런타임 예외를 발생시키고 응용 프로그램을 방해 할 수 있습니다.
이러한 문제를 해결하기 위해 C #은 제네릭 컬렉션 클래스도 제공합니다. 일반 컬렉션은 항목의 저장 및 검색 중에 더 나은 성능을 제공합니다.
학습 내용 :
C # 목록
우리는 이전 기사에서 ArrayList에 대해 이미 배웠습니다. 기본적으로 List는 ArrayList와 유사하지만 유일한 차이점은 List가 제네릭이라는 것입니다. 목록에는 배열 목록과 유사하게 크기가 커짐에 따라 크기를 확장하는 고유 한 속성이 있습니다.
목록을 초기화하는 방법?
다음과 같은 방법으로 목록을 초기화 할 수 있습니다.
//using List type for initialization List listInteger = new List(); //using IList type for initialization IList listString = new List();
위의 예를 보면 첫 번째 줄에서 List를 사용하여 정수 목록을 초기화했음을 알 수 있습니다. 그러나 두 번째 줄에서는 문자열 목록의 초기화를 위해 IList를 사용했습니다. 프로그램에 이들 중 하나를 사용할 수 있습니다. 목록은 실제로 IList 인터페이스의 구현입니다.
목록에 요소를 추가하고 삽입하는 방법?
ArrayList와 유사하게 Add () 메서드를 사용하여 List에 요소를 추가 할 수 있습니다. add 메소드는 데이터 유형 값을 인수로받습니다.
통사론
ListName.Add(DataType value);
목록과 IList에 데이터를 추가하는 간단한 프로그램을 살펴 보겠습니다.
프로그램:
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List ;(); //Add elements to the list listInteger.Add(1); listInteger.Add(2); listInteger.Add(3); //using IList type for initialization IList listString = new List(); listString.Add('One'); listString.Add('Two'); listString.Add('Three'); Console.ReadLine(); } }
List를 초기화하는 동안 요소를 직접 추가 할 수도 있습니다. 배열 챕터에서했던 것과 비슷한 방식으로 초기화 자체에서 목록에 값을 직접 추가 할 수 있습니다.
목록 뒤에 중괄호를 넣은 다음 쉼표로 구분하여 값을 작성하여 추가 할 수 있습니다. 초기화 중에 직접 값을 추가 할 수 있도록 위의 프로그램을 약간 변경해 보겠습니다.
네트워킹 문제 해결 인터뷰 질문 및 답변 pdf
따라서 이제 프로그램은 다음과 같습니다.
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //using IList type for initialization IList listString = new List(); listString.Add('One'); listString.Add('Two'); listString.Add('Three'); Console.ReadLine(); } }
위의 프로그램에서 우리는 초기화 중 처음에 정수 목록 값을 초기화했습니다. 이를 통해 각 값에 대해 Add () 메서드를 작성하지 않고도 값을 직접 전달할 수 있습니다. 이것은 목록에 넣어야하는 정량화 가능한 양의 데이터가 제한된 경우에 매우 유용합니다.
목록에 액세스하는 방법?
색인을 사용하여 목록에서 개별 항목에 액세스 할 수 있습니다. 색인은 목록 이름 뒤의 대괄호로 전달할 수 있습니다.
통사론
dataType Val = list_Name(index);
이제 이전 프로그램에서 만든 목록에서 데이터를 가져 오는 간단한 프로그램을 살펴 보겠습니다.
프로그램
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; int val = listInteger(1); Console.WriteLine(val); } }
다음 프로그램의 출력은 인덱스 1의 값이됩니다. 인덱스는 0부터 시작하며 출력은 다음과 같습니다.
두
이제 List에서 모든 데이터를 가져오고 싶다고 가정 해 보겠습니다. for-each 루프 또는 for 루프를 사용하여이를 수행 할 수 있습니다.
각 루프에 대해
각 루프에 대해 목록에서 모든 데이터를 가져올 수 있습니다.
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; foreach (var val in listInteger) { Console.WriteLine(val); } } }
여기서는 변수 값을 선언하여 for each 루프를 사용하여 목록을 반복했습니다. 이것은 내부에 데이터가있을 때까지 목록을 통해 각 루프를 허용합니다.
For 루프
for 루프를 사용하려면 목록에있는 요소의 수를 알아야합니다. Count () 메서드를 사용하여 요소의 개수를 가져올 수 있습니다.
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i때때로 우리는 목록 안에 새 요소를 삽입해야 할 수도 있습니다. 이를 위해서는 Insert () 메서드를 사용하여 목록 내부에 새 메서드를 추가해야합니다. insert 메서드는 두 개의 인수를받습니다. 첫 번째 인수는 데이터를 삽입 할 인덱스이고 두 번째 인수는 삽입 할 데이터입니다.
삽입 구문은 다음과 같습니다.
List_Name.Insert(index, element_to_be_inserted);
이제 앞서 만든 목록에 요소를 삽입 해 보겠습니다. 위의 프로그램에 삽입 문을 추가하고 작동 방식을 확인합니다.
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i 위의 프로그램을 실행하면 출력은 다음과 같습니다.
하나
두
삼
새 값 삽입 후 목록 값
하나
22
두
삼
for 회 돌이 이후에 이전에 정의 된 목록의 인덱스 1에 정수 22를 삽입하는 insert 문을 추가했습니다. 그런 다음 for each 루프를 작성하여 현재 목록에있는 모든 요소를 인쇄합니다 (첫 번째 데이터를 삽입 한 후).
출력에서 목록의 모든 요소가 인덱스 1의 새 요소를 위해 앞으로 이동되었음을 분명히 알 수 있습니다. 인덱스 1은 이제 22를 요소로하고 인덱스 1의 이전 요소는 다음 색인 등.
목록에서 요소를 제거하는 방법?
때로는 목록에서 항목을 제거해야 할 수도 있습니다. 이를 위해 C #은 두 가지 다른 방법을 제공합니다. 이 두 메서드는 Remove () 및 RemoveAt ()입니다. Remove는 목록에서 특정 요소를 제거하는 데 사용되며 RemoveAt은 주어진 인덱스에있는 모든 요소를 제거하는 데 사용됩니다.
구문을 살펴 보겠습니다.
통사론
Remove(Element name); RemoveAt(index);
이제 이전 코드에 Remove 문을 추가하고 어떤 일이 발생하는지 살펴 보겠습니다.
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i 위 프로그램의 출력은 다음과 같습니다.
하나
두
삼
목록에서 값 제거
하나
삼
위의 프로그램에서는 remove 메소드를 사용하여 목록에서 요소 2를 제거했습니다. Remove 메서드가 실행되면 출력에서 볼 수 있듯이 목록에는 제거 된 요소가 더 이상 포함되지 않습니다.
마찬가지로 RemoveAt 메서드를 사용할 수도 있습니다. 위 프로그램의 Remove 메서드를 RemoveAt () 메서드로 바꾸고 인덱스 번호를 매개 변수로 전달해 보겠습니다.
class Program { staticvoid Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i 위 프로그램의 출력은 다음과 같습니다.
하나
두
삼
목록에서 값 제거
하나
두
위의 프로그램에서 정수 2를 제거하는 대신 인덱스 2에있는 요소를 제거했음을 분명히 알 수 있습니다. 따라서 요구 사항에 따라 Remove () 또는 RemoveAt ()을 사용하여 특정 요소를 제거 할 수 있습니다. 명부.
C # 사전
C #의 사전은 모든 언어의 사전과 유사합니다. 여기에도 단어와 그 의미의 모음이 있습니다. 단어를 키라고하며 그 의미 또는 정의를 값으로 정의 할 수 있습니다.
사전은 두 개의 인수를받습니다. 첫 번째 인수는 키이고 두 번째 인수는 값입니다. Dictionary 클래스 또는 IDictionary 인터페이스의 변수를 사용하여 초기화 할 수 있습니다.
사전의 구문은 다음과 같습니다.
Dictionary
Dictionary를 초기화하는 간단한 프로그램을 살펴 보겠습니다.
Dictionary data = new Dictionary();
위의 프로그램에서 키와 값을 문자열로하여 사전 데이터를 초기화했음을 명확히 알 수 있습니다. 그러나 키와 값에 모든 데이터 유형 쌍을 사용할 수 있습니다. 예를 들어, 다른 데이터 유형을 포함하도록 위의 명령문을 변경하면 정확합니다.
Dictionary data = new Dictionary();
꺾쇠 괄호 안의 데이터 유형은 키와 값을위한 것입니다. 모든 데이터 유형을 키 및 값으로 유지할 수 있습니다.
사전에 키와 값을 추가하는 방법?
사전을 초기화하는 방법을 보았습니다. 이제 키와 해당 값을 사전에 추가합니다. 사전은 목록에 다른 데이터와 해당 값을 추가하려는 경우 매우 유용합니다. Add () 메서드를 사용하여 사전에 데이터를 추가 할 수 있습니다.
통사론
초보자를위한 컴퓨터 프로그램 방법
DictionaryVariableName.Add(Key, Value);
이제 위의 프로그램에 Add 문을 포함하여 키와 값을 사전에 추가해 보겠습니다.
프로그램
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); } }
위의 프로그램에서는 Add () 메서드를 사용하여 키와 값을 사전에 추가했습니다. Add () 메서드에 전달 된 첫 번째 매개 변수는 키이고 두 번째 매개 변수는 키의 값입니다.
사전에서 키와 값에 액세스하는 방법?
목록에 대한 자습서에서 논의했듯이 사전에서 여러 가지 방법으로 요소에 액세스 할 수도 있습니다. 여기에서 액세스 할 수있는 몇 가지 중요한 방법에 대해 설명합니다. for 루프, 각 루프 및 데이터 항목에 액세스하기위한 인덱스에 대해 설명합니다.
색인은 목록에서 특정 값에 액세스하는 데 사용할 수 있습니다.
For 루프는 사전에서 모든 요소에 액세스하거나 검색하는 데 사용할 수 있지만 루프를 중지하려면 사전의 크기가 필요합니다. 각 루프가 더 유연하기 때문에 사전 크기를 요구하지 않고 사전에서 모든 데이터를 검색 할 수 있습니다.
인덱싱 사용
인덱스의 요소는 요소에 액세스하기 위해 배열과 유사하게 사용할 수 있습니다. 기본적인 차이점은 인덱스 대신 값에 액세스하려면 키가 필요하다는 것입니다.
통사론
Dictionary_Name(key);
프로그램
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); string value = dctn('two'); Console.WriteLine(value); Console.ReadLine(); } }
위 프로그램의 출력은 다음과 같습니다.
둘째
요소에 액세스하기 위해 For 루프 사용
for 루프를 사용하여 사전의 모든 요소에 액세스 할 수 있습니다. 그러나 필요한 반복 횟수를 위해 사전 내부 요소의 개수도 가져와야합니다.
위의 프로그램에 for 루프를 추가하여 사전에서 모든 값을 검색해 보겠습니다.
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); for(int i =0; i 위 프로그램의 출력은 다음과 같습니다.
key : one의 요소와 그 값은 다음과 같습니다.
key : two의 요소와 그 값 : second
key : three의 요소와 그 값 : Third
위의 프로그램에서 우리는 ElementAt () 메서드를 사용하여 주어진 인덱스에서 키를 얻은 다음 동일한 키를 사용하여 키 값의 데이터를 검색했습니다. for 루프는 사전 내부의 모든 데이터를 반복합니다. 반복을위한 사전의 크기를 가져 오는 데 Count 속성이 사용되었습니다.
For-Each 루프 사용
for 루프와 유사하게 for each 루프를 사용할 수도 있습니다.
for-each 루프를 사용하여 위의 프로그램을 살펴 보겠습니다.
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); foreach (KeyValuePair item in dctn) { Console.WriteLine('The Key is :'+ item.Key+' - The value is: '+ item.Value); } Console.ReadLine(); } }
위 프로그램의 출력은 다음과 같습니다.
키 : one – 값 : first
키 : two – 값 : second
키 : three – 값 : Third
위의 프로그램은 KeyValuePair를 사용하여 변수를 선언 한 다음 사전에있는 각 키-값 쌍을 반복하여 콘솔에 인쇄합니다.
사전에 데이터가 있는지 확인하는 방법은 무엇입니까?
때로는 특정 키 또는 값이 사전에 존재하는지 여부를 확인해야합니다. 두 가지 방법 즉, ContainsValue () 및 ContainsKey ()를 사용하여 사전 내부의 기존 키 또는 값을 확인하여이를 확인할 수 있습니다.
contains 메소드는 주어진 값이 사전에 있는지 여부를 확인하는 데 사용됩니다. ContainsKey 메서드는 주어진 키가 사전에 있는지 여부를 확인하는 데 사용됩니다.
통사론
Dictionary_Name.ContainsValue(Value); Dictionary_Name.ContainsKey(Key);
Contains 및 ContainsKey 메서드를 사용하여 유효성을 검사하는 간단한 프로그램을 작성해 보겠습니다.
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); bool key = dctn.ContainsKey('one'); bool val = dctn.ContainsValue('four'); Console.WriteLine('The key one is available : ' + key); Console.WriteLine('The value four is available : ' + val); Console.ReadLine(); } }
위 프로그램의 출력은 다음과 같습니다.
키를 사용할 수 있습니다. True
값 4를 사용할 수 있습니다. False
위의 프로그램에서 우리는 먼저 ContainsKey 메서드를 사용하여 주어진 키가 사전 내에 있는지 확인했습니다. 키가 사전에 있으므로 메서드는 true를 반환합니다. 그런 다음 ContainsValue를 사용하여 주어진 값이 있는지 여부를 결정합니다. 딕셔너리에 'four'값이 없기 때문에 false를 반환합니다.
사전에서 요소를 제거하는 방법?
특정 프로그래밍 로직을 수행하기 위해 사전에서 특정 키-값 쌍을 제거해야하는 경우가있을 수 있습니다. Remove 메서드는 키를 기반으로 사전에서 쌍을 제거하는 데 사용할 수 있습니다.
통사론
Remove(key);
프로그램
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); //removing key two dctn.Remove('two'); //validating if the key is present or not bool key = dctn.ContainsKey('two'); Console.WriteLine('The key two is available : ' + key); Console.ReadLine(); } }
위 프로그램의 출력은 다음과 같습니다.
시스템 테스트와 사용자 승인 테스트의 차이점
두 가지 키를 사용할 수 있습니다. False
위의 프로그램에서 먼저 사전에 키-값 쌍을 추가했습니다. 그런 다음 사전에서 키를 제거하고 ContainsKey () 메서드를 사용하여 키-값 쌍이 더 이상 사전에 없는지 확인했습니다.
결론
목록은 특정 데이터 유형의 요소를 저장하고 항목이 추가되면 커집니다. 또한 여러 중복 요소를 저장할 수 있습니다. 인덱스 또는 루프를 사용하여 목록 내의 항목에 쉽게 액세스 할 수 있습니다. 이 목록은 많은 양의 데이터를 저장하는 데 매우 유용합니다.
사전은 키-값 쌍을 저장하는 데 사용됩니다. 여기서 키는 고유해야합니다. 사전의 값은 루프 또는 색인을 사용하여 검색 할 수 있습니다. Contains 메서드를 사용하여 키 또는 값의 유효성을 검사 할 수도 있습니다.
추천 도서