Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- C++
- Unity
- 3차원배열
- 이득우언리얼
- 게임만들기
- 표창던지기
- 유니티
- c#
- c++class
- 다중상속
- 화살표 함수
- visualstudio2022
- uidesign
- 파이썬
- premake5
- 화살피하기
- 렌더몽키
- 가변배열
- rendermonkey
- 이득우
- IMGUI
- 비주얼스튜디오
- 그림자 효과
- 언리얼
- swipe
- 화살표 메서드
- python
- 배열문제
- 공부
- 셰이더
Archives
- Today
- Total
신입 개발자 공부 과정
모르는 부분들 다차원 배열 과 가변배열, 제네릭 리스트 List<T>, 컬렉션Collection 본문
-다차원 배열과 가변배열 Jagged Array and Adjustable Array
array of different element size
ex)
x x x x x x x x x
creat instants of Adjustable Array=
new int[3][];
Announce to Adjustable Array variables=
int[][]arr = new int[3][];
arr
to use Adj Array, initilize elements first.
null null null
ex)
arr[0] = new int[3];
arr[1] = new int[2];
arr[2] = new int[4];
or
arr[0] = new int[ ] {1,3,5}; //first column init
arr[0] = new int[ ] {2,4}; //second column init
arr[0] = new int[ ] {10,20,30}; //third column init
1=arr[0][0] 2 10 3=arr[0][1] 4 20 5 30 40
using for sentence to go over adj array=
output:for (int i = 0; i < 3; i++) { for (int j = 0; j < arr[i].Length; j++) { Console.Write("{0}", arr[i][j]); } Console.WriteLine(); }
1 3 5
2 4
10 20 30 40
-제네릭 리스트 List<T>
namespace includes - System.Collections.Generic
List<string(매개변수)> names; names = new List<string>(); // create instants
Method=
public void Add(T item); //개체를 List<T>의 끝 부분에 추가합니다. public void Clear(); // List<T>에서 요소를 모두 제거합니다. public bool Contains (T item); // List<T>에 요소가 있는지 여부를 확인합니다. public bool Remove (T item);// List<T>에서 맨 처음 발견되는 특정 개체를 제거합니다. (item이 제거되면 true, if not false)
List<string> names = new List<string>();
names.Add("홍길동");
names.Clear();
bool hasName = names.Contains("홍길동");
Console.WriteLine(hasName); //true
bool isRemoved=names.Remove("홍길동");
Console.WriteLine(isRemoved); //true
속성
public int Count{get;} //List<T>에 포함된 요소 수를 가져옵니다.
List<string> names = new List<string>(); names.Add("홍길동"); names.Add("임꺽정"); Console.WriteLine(names.Count);//2
public T this[int index]{get; set;} //지정한 인덱스에 있는 요소를 가져오거나 설정합니다.
List<string> names = new List<string>(); names.Add("홍길동"); names.Add("임꺽정"); Console.WriteLine(names[1]);//임꺽정
목록 순회하기foreach(string name in names) { Console.WriteLine(name); } //foreach문을 사용해 List<T> 요소에 접근 할 수 있습니다. //요소의 타입은 T입니다 //요소의 이름은 관리 되는 개체들을 뜻하는 이름이 좋습니다.
for (int i = 0; i<names.Count; i++) { Console.WriteLine(name[i]); }
컬렉션 종류
System.Collections 클래스 =
Object 형식의 개체로 요소를 저장합니다
-네임스페이스 클래스 중 일부
//ArrayList
//Hashtable
//Queue
//Stack
-컬렉션 (Array List)
System.Collections.Generic 클래스=
ArrayList
.Net에서는 ArrayList라는 클래스를 만들어 놨습니다.
필요에 따라 크기가 동적으로 증가하는 배열(가변배열)
컬렉션은 = 클래스 이므로
요소를 추가하려면 인스턴스화 해야 된다.
Add()= 추가
Remove= 특정 개체 제거
ex)
ArrayList list = new ArrayList(); list.Add("홍길동"); //개체를 ArrayList의 끝 부분에 추가해야된다. Console.WriteLine(list[0]); //index를 사용해 요소에 접근 할 수 있다. //--- for(int i=0; i<list.Count; i++) { Console.WriteLine(list[i]); //for문으로 각 요소를 출력 가능하다 } //--- foreach(string name in list) { Console.WriteLine(name); //foreach문으로 각 요소를 출력 할 수 있습니다. } list[0] = "임꺽정"; //index를 사용해 요소에 접근 해 요소의 값을 변경 할 수도 있습니다. list.Remove("홍길동"); //ArrayList에서 맨 처음 발견되는 특정 개체를 제거합니다
컬렉션(스택)
.NET에는 스택이 이미 구현되어 있다.
Push(Object)= 개체를 stack의 맨 위에 삽입
Pop()=Stack의 맨 위에서 개체를 제거하고 반환
Peek()=Stack의 맨 위에서 개체를 제거하지 않고 반환
속성
Count= stack에 포함된 요소 수를 가져온다
컬렉션 = 클래스 이므로 요소를 추가하려면 인스턴스화 해야된다
Stack stack = new Stack(); stack.Push("홍길동");//개체 "홍길동"을 stack의 맨 위에 삽입한다 object name = stack.Pop(); //stack의 맨 위에서 개체를 제거하고 반환한다 object name = stack.Peek(); //stack의 맨 위에서 개체를 제거하지 않고 반환한다 int count = stack.Count; //stack에 포함된 요소 수를 가져온다 foreach(object name in stack) { //foreach문을 사용해 stack의 요소에 접근 할 수 있습니다. }
컬렉션(Queue)
Stack과 달리 먼저 들어온 개체가 먼저 반환된다
입력= Enqueue()
출력= Dequeue()
Peek()=
Stack의 맨 위에서 개체를 제거하지 않고 반환
속성
Count= stack에 포함된 요소 수를 가져온다
Queue queue = new Queue(); //인스턴스 생성 queue.Enqueue(10);//데이터 입력 queue.Enqueue(20); queue.Enqueue(30); Console.WriteLine(queue.Dequeue());//데이터 입력된 순서대로 출력 Console.WriteLine(queue.Dequeue()); Console.WriteLine(queue.Dequeue());
컬렉션(Hashtable)
키와 값을 함께 저장가능(정수와 문자열 인덱스)
ex)이름과 전화번호
Add(obj key, obj value);= 추가
Remove(obj key, obj value);= 제거
bool Contains(obj key);= 특정 키가 들어있는지 확인하기
int 변수.Count {get;}= 해쉬테이블에 포함된 키/값 쌍의 수를 가져온다
Hashtable hash = new Hashtable(); hash[0] = "닷넷코리아"; hash["김주성"] = "코딩중"; Console.WriteLine(hash[0]); Console.WriteLine(hash["김주성"]) Console.WriteLine(hash.Count); Console.WriteLine(hash.Contains("김주성"));;
//다음엔
델리게이트, 익명함수, 람다식
'C# > 수업 내용' 카테고리의 다른 글
1월3일 인벤3 (0) | 2022.01.03 |
---|---|
12/30 수업 스타크래프트 부대지정 (0) | 2021.12.30 |
12/29수업 item + inventory (0) | 2021.12.29 |
벌쳐 (마인) vs 질럿 연습 문제 12/28 (0) | 2021.12.29 |
마린 vs 저글링 C# 공격 과제 (0) | 2021.12.28 |