Blue Sky! 2020. 5. 26. 15:47

C# 8.0์—์„œ์˜ Index.

 

1. "^"์˜ ๊ฐœ๋…. (Index fromEnd ์˜ ๋‹จ์ถ• ํ‘œ๊ธฐ๋ฒ•)

์•„๋ž˜์˜ ๋ฐฐ์—ด์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ..

int a = [1,2,3,4,5,6,7];

int b = a[^2]; 

^ => ๋’ค์—์„œ ๋ถ€ํ„ฐ ์ˆœ์„œ๋ฅผ ์„ผ๋‹ค. ๋‹จ ์ด๋•Œ๋Š” ์ œ๋กœ ๋ฒ ์ด์Šค๊ฐ€ ์•„๋‹˜ 

์ฆ‰ ์‹คํ–‰ํ•˜๋ฉด b = 6 ์ด ๋‚˜์˜จ๋‹ค.

 

2. Index ๊ฐ์ฒด

c# 8.0๋ถ€ํ„ฐ๋Š” Index๋ž€ ๊ฐœ๋…์ด ์ƒ๊ฒผ๋‹ค.

์—ญ์‹œ ๊ฐ์ฒด๋ผ ์•„๋ž˜์™€ ๊ฐ™์ด ์„ ์–ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค

Index idx = new Index(2);

 

ex) 

string a = "abcdefg";

int idx1 = 2;

Index idx2 = new Index(2);

char c1 = a[idx1];

char c2 = a[idx2];

 

๋‘˜ ๋‹ค ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

c1 = c 

c2 = c

๊ทธ๋Ÿผ Index๋ฅผ ์“ฐ๋Š” ์ด์œ ๊ฐ€ ๋ญ˜๊นŒ? Index ๊ฐ์ฒด๋Š” int๋กœ ์ธ๋ฑ์Šค๋ฅผ ์ง€์ •ํ–ˆ์„ ๋•Œ ๊ฐ’๋งŒ ๋ณด๊ด€ํ•˜๋Š” ๊ฒƒ๊ณผ๋Š” ๋‹ฌ๋ฆฌ ๊ฐ’, ๋ฐฉํ–ฅ์„ฑ์„ ๋ณด๊ด€ํ•œ๋‹ค.

* Index ์„ ์–ธ ์‹œ ๋‘ ๋ฒˆ์งธ ์ธ์ž๋ฅผ true๋กœ ์ฃผ๋ฉด ^ ์™€ ๊ฐ™์ด ๋’ค์—์„œ ์ˆœ์„œ๋ฅผ ์„ผ๋‹ค. 

ex ) new Index(2, fromEnd : true)

 

Index ๊ฐ์ฒด ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• 

1. new ์‚ฌ์šฉ 

Index indx1 = new Index(3);

2. ์ •์  ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ

Index indx 1= Index.FromStart(3);

3. ๋‹จ์ถ• ํ‘œ๊ธฐ๋ฒ• ์‚ฌ์šฉ

Index idx1 = 3;

Index idx2 = ^3;

์‹ค์ „์—์„œ๋Š” ์•„๋ฌด๋ž˜๋„ 3๋ฒˆ์ด ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด์ง€ ์•Š์„๊นŒ? ใ…Žใ…Ž

 

3. Range 

c# 8.0๋ถ€ํ„ฐ Range ๋ฅผ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋Š”๋ฐ ์‚ฌ์šฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

* ๋ฐฐ์—ด์— ".." ์„ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋‹ค. 

int[] arr = {1,2,3,4,5,6} ์ด๋ž€ ๋ฐฐ์—ด์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด..

Ex )

int[] arr2 = arr[1..^2]; 

=> 2,3,4,5

Ex2)

Range r1 = new Range(new Index(1), new (1,true));

int [] arr2 = arr[r1];

=> 2,3,4,5,6