核心代碼
Console.WriteLine("請輸入整數,用空格分隔 (如: 12 56 45 65 36 78 54):");
string input = Console.ReadLine(); // 讀取整行字符串
int[] numbers = input.Split(new[] {' ', '\t'}, StringSplitOptions.RemoveEmptyEntries)
.Select(s => int.Parse(s))
.ToArray();
if (numbers.Length > 0) {
Console.WriteLine($"最大值: {numbers.Max()}");
Console.WriteLine($"最小值: {numbers.Min()}");
} else {
Console.WriteLine("未輸入有效數字");
}
關鍵點解析
Console.ReadLine() 返回完整行字符串(含空格)。
Split 按空白字符分割,RemoveEmptyEntries 避免多空格產生空字符串。
Select(int.Parse) 將每個子串轉為 int(拋出異常則輸入非數字)。
ToArray() 實例化數組,隨後可用 LINQ Max()/Min()。
進階:異常處理
var nums = new List();
foreach (var s in input.Split(' ')) {
if (int.TryParse(s, out int v)) nums.Add(v);
else Console.WriteLine($"忽略非數字: {s}");
}
