목차
C# 배열 선언
배열 요소 접근 (= 색인번호 = index)
배열 요소 변경
배열 길이 (= 배열 요소 개수)
배열 반복 실행. (for, for_each 반복문)
배열 정렬
System.Linq Namespace 소속 메서드
배열 생성 여러 방법들
※ 배열은 단일 변수에 여러 값을 저장할 때 사용.
C# 배열 선언
[방법1 ★] - 배열 변수 선언과 동시에 중괄호 {} 이용해 요소 추가.
dataType [ ] arrName = { emt1, emt2, .... };
(예제)
string[] codes = {"HTML", "CSS", "JS"} ;
int[] nums = {1, 2, 3, 4};
[방법2] 배열 변수 먼저 선언 후, 나중에 색인번호 이용해 요소 추가.
dataType [ ] arrName = new dataType [Length ];
arrName [0] = emt1 ;
arrName [1] = emt2 ;
...
(예제)
string[] codes = new string[3];
codes[0] = "HTML";
codes[1] = "CSS";
codes[2] = "JS";
PS. 맨 하단 '배열 선언 그외 방법들' 참조.
배열 요소 접근 (= 색인번호 = index)
요소 개수가 n개인 배열 색인번호 (= 위치)는 0 부터 시작.
(예)
[0 ] 첫번째 요소, [1] 두번째요소, ... , [n-1 ] 마지막요소.
[예제]
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
string[] codes = {"HTML", "CSS", "JS"};
Console.WriteLine(codes[0]); // HTML
}
}
}
결과값: HTML
배열 요소 변경
※ 색인번호 이용해 요소값 재설정.
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
string[] codes = {"HTML", "CSS", "JS"};
codes[0] = "C#";
Console.WriteLine(codes[0]); // C#
}
}
}
결과값: C#
배열 길이 (= 배열 요소 개수)
arrName .Length 속성 이용.
[예제]
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
string[] codes = {"HTML", "CSS", "JS"};
Console.WriteLine(codes.Length); // 3
}
}
}
결과값: 3
배열 반복 실행. (for, for_each 반복문)
[for 반복문] - 배열 요소 개수 알아야 가능.
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
string[] codes = {"HTML", "CSS", "JS"};
for (int i = 0; i < codes.Length; i++)
{
Console.WriteLine(codes[i]);
}
}
}
}
결과값:
HTML
CSS
JS
[for_each 반복문] ※ 배열 요소 개수 몰라도 가능.
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
string[] codes = {"HTML", "CSS", "JS"};
foreach (string i in codes)
{
Console.WriteLine(i);
}
}
}
}
결과값:
HTML
CSS
JS
※ 배열 경우, foreach 반복문이 더 간결.
배열 정렬
[오름차순]
Array.Sort(arrName );
[내림차순]
Array.Sort(arrName );
Array.Reverse(arrName );
PS. 내림차순 하려면, 먼저 오름차순 정렬 후 순서 뒤집음.
[예제1] 오름차순
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
// 문자열 정렬
string[] codes = {"HTML", "CSS", "JS", "C#"};
Array.Sort(codes);
foreach (string i in codes)
{
Console.WriteLine(i);
}
// 정수 정렬
int[] nums = {2, 1, 4, 3};
Array.Sort(nums);
foreach (int i in nums)
{
Console.WriteLine(i);
}
}
}
}
결과값:
C#
CSS
HTML
JS
1
2
3
4
[예제] 내림차순 정렬.
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
// 문자열 정렬
string[] codes = {"HTML", "CSS", "JS", "C#"};
Array.Sort(codes);
Array.Reverse(codes);
foreach (string i in codes)
{
Console.WriteLine(i);
}
// 정수 정렬
int[] nums = {2, 1, 4, 3};
Array.Sort(nums);
Array.Reverse(nums);
foreach (int i in nums)
{
Console.WriteLine(i);
}
}
}
}
결과값:
JS
HTML
CSS
C#
4
3
2
1
System.Linq Namespace 소속 메서드
1.
상단에 아래 네임스페이스 필수 추가 후,
using System.Linq;
2.
아래의 배열 관련 메서드를 사용 가능.
arrName .Max() : 배열 요소 중 최대값 반환.
arrName .Min() : 배열 요소 중 최소값 반환.
arrName .Sum() : 배열 요소의 합계 반환.
[예제]
using System;
using System.Linq;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
int[] nums = {2, 1, 4, 3};
Console.WriteLine(nums.Max()); // 4
Console.WriteLine(nums.Min()); // 1
Console.WriteLine(nums.Sum()); // 10
}
}
}
배열 생성 여러 방법들
※ 배열 변수 먼저 생성 후, 나중에 값 추가.
string[] codes = new string[3];
※ 배열 변수 생성과 동시에 값 추가.
string[] codes = new string[3] {"HTML", "CSS", "JS"};
※ 배열 길이 생략.
string[] codes = new string[] {"HTML", "CSS", "JS"};
※ new 키워드와 배열 길이 생략. (★ 제일 간단)
string[] codes = {"HTML", "CSS", "JS"};
int[] nums = { 1, 3, 5, 7, 9 };
[정상 출력1]
※ 배열 선언 후 나중에 초기화 시, new 키워드 필수.
※ 핑크색 코드 생략 시, 에러 발생.
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
string[] codes;
codes = new string[] {"HTML", "CSS", "JS"};
Console.WriteLine(codes[0]); // HTML
}
}
}
[정상 출력2]
※ 핑크색 코드 생략 시 에러 발생.
※ 배열 길이 생략하거나, 추가할 요소 개수보다 부족해도 에러 발생.
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
string[] codes= new string[ 3 ] ;
codes[0] = "HTML";
codes[1] = "CSS";
codes[2] = "JS";
Console.WriteLine(codes[0]); // HTML
}
}
}
PS. 에러 발생1.
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
string[] codes;
codes[0] = "HTML";
codes[1] = "CSS";
codes[2] = "JS";
Console.WriteLine(codes[0]);
}
}
}
PS. 에러 발생2.
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
string[] codes = new string[] ;
codes[0] = "HTML";
codes[1] = "CSS";
codes[2] = "JS";
Console.WriteLine(codes[0]); // 에러 발생.
}
}
}
주소 복사
랜덤 이동
최신댓글