- 입력받은 문자열이 숫자인지 판별하는 방법 : int.TryParse() int.TryParse()에서 반환이 성공했는지 여부를 true/false로 반환하고 반환이 성공했다면 out으로 지정된 변수에 값을 반환한다
| int numChk = 0; // num 체크를 위해 선언 string s = Console.ReadLine(); // 문자열 입력받기 // int.TryParse()이용, 입력받은 문자열과 numChk를 인자로 사용 // 반환값은 true / false // 반환값에 따라 데이터를 처리해주면된다 bool isNum = int.TryParse(s, out numChk); if (!isNum) { Console.WriteLine("숫자가 아닌것을 입력"); arr[i] = 0; } else { arr[i] = numChk; } | cs |
- 가변 길이 매개변수 : params 몇 개의 인자를 입력받던 상관이 없다(가변 인자)
입력받을 인자의 타입에 해당하는 배열을 선언 후 그 앞에 params 를 붙여주면 된다 -> params 사용 시 : add(1,2,3,4,5,6...); 쉽게 사용이 가능하며, 매개변수들을 일일이 정의할 필요가 없다 -> params 사용하지 않을 시 : add(new int[]{1,2,3,4,5,6...}); 길게 써야한다
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 31 32 33 34 | namespace ConsoleApp7 { class Program { static void Main(string[] args) { // params 사용한 경우 int add(params int[] values) { int result = 0; for (int i = 0; i < values.Length; i++) result += values[i]; return result; } // 10개의 문자열을 입력받아서 숫자인것만 합계를 구해 출력 // 문자열이 문자 시 0을 대입 int[] arr = new int[10]; for (int i = 0; i < 10; i++) { int numChk = 0; string s = Console.ReadLine(); bool isNum = int.TryParse(s, out numChk); if (!isNum) { Console.WriteLine("숫자가 아닌것을 입력"); arr[i] = 0; } else { arr[i] = numChk; } } Console.WriteLine("합계 : " + add(arr)); } } } | cs |

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | string[] arrStr = new string[10]; // params oject 타입 사용한 경우 void addObject(params object[] values) { for (int i = 0; i < values.Length; i++) arrStr[i] += values[i]; } // 10개의 문자열을 입력받아 배열에 넣어 int v1 = 0; do { string s = Console.ReadLine(); arrStr[v1] = s; v1++; } while (v1 < 10); foreach(string item in arrStr) Console.Write("{0}, ", item); | cs |
|