char a[1]; int a = 34; a[0] = a; 企圖把整數 34 直接存入 char,誤以為 ASCII 只有 0-9。
int num = 34;
char[] arr = new char[1];
// 方案 1:Convert.ToChar (將數值視為 Unicode 碼點)
arr[0] = Convert.ToChar(num); // 字符 '"' (U+0022)
// 方案 2:若只想取個位數字 '4'
arr[0] = (char)('0' + num % 10);
// 方案 3:將整數轉字符串取首字符
arr[0] = num.ToString()[0]; // '3'
char 本質是 16 位無符號整數 (UTF-16 碼元),可直接存 0-65535 任意碼點。Convert.ToChar(int) 按 Unicode 碼點轉換,不是 ASCII 表查找。'0' + digit 或 ToString()。