int[] numbers = { 1, 2, 3, 4, 5 };
string[] result = numbers.Select(i => i.ToString()).ToArray();
foreach문으로 int에 받을려고 하면 string 형식이여서 받을 수 없다고 뜬다.
제대로 string에 받아 돌리면
타입이 string이라고 뜬다.
int[] numbers = { 1, 2, 3, 4, 5 };
string[] result = Array.ConvertAll(numbers, i => i.ToString());
int[] numbers = { 1, 2, 3, 4, 5 };
string[] result = new string[numbers.Length];
for (int i = 0; i < numbers.Length; i++)
{
result[i] = Convert.ToString(numbers[i]);
// 또는 result[i] = numbers[i].ToString();
}
int[] numbers = { 1, 1, 2, 3, 4, 2, 6, 7, 8, 4, 10 };
int[] result = new int[numbers.Length];
result =numbers.Select((n, i) => i >4 ? n : -99).Where(x => x >= 0).ToArray();
Select에서 인덱스쪽에 조건을 걸어 값은 변경해준 다음에 Where로 변경된 값을 삭제하여 저장하는 형태이다.
이와 비슷하게 만약 문자열 배열일 경우
string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
var shortDigits = digits.Where((digit, index) => digit.Length < index);
로 출력된다.
int[] numbers = { 1, 1, 2, 3, 4, 2, 6, 7, 8, 4, 10 };
int[] result = new int[numbers.Length];
Array.Copy(numbers,4, result, 0, 3);
첫번째 파라미터는 소스가 될 값(복사할 값)
두번째 파라미터는 복사 시작위치
세번째 파라미터는 저장할 변수
네번째 파라미터는 저장할 시작위치
다섯번째 파라미터는 갯수 입니다.
만약에 4번째 값을 2로 변경시키면
와 같은 형태로 저장됩니다.
int[] numbers = { 1, 1, 2, 3, 4, 2, 6, 7, 8, 4, 10 };
int[] result = numbers.Skip(4).Take(3).ToArray();
Skip에 시작위치를 Take에 갯수를 적으시면 됩니다.
<T>
int[] numbers = { 1, 1, 2, 3, 4, 2, 6, 7, 8, 4, 10 };
int[] result = new ArraySegment<int> (numbers , 4, 3).ToArray ();
첫번째 파라미터에는 소스가 될 값
두번째 파리미터에는 복사 시작위치
세번째 파라미터에는 갯수를 입력하시면 됩니다.
이 방법은 배열을 리스트로 변경한 다음 복사 후 배열로 변경시키는 방법이다.
int[] numbers = { 1, 1, 2, 3, 4, 2, 6, 7, 8, 4, 10 };
int[] result = numbers.ToList().GetRange(4,3).ToArray();
첫번째 파라미터에는 복사 시작위치
두번째 파라미터에는 갯수를 입력하시면 됩니다.