string 的基本資料處理請參考 C# 內建函數 String 與 StringBuilder。
Console.ReadLine() 輸入的結果為字串,在實務上常轉型成其他型別資料,以下是轉型範例供參考:
- 字串轉整數
轉換為整數 (int) |
Console.Write("輸入整數: ");
string input = Console.ReadLine();
if (int.TryParse(input, out int integerValue))
{
Console.WriteLine($"轉換為整數成功: {integerValue}");
}
else
{
Console.WriteLine("無法轉換為整數。");
}
|
|
轉換為整數 (int) |
Console.Write("輸入整數: ");
try
{
int integerValue = int.Parse(Console.ReadLine());
Console.WriteLine($"轉換為整數成功: {integerValue}");
}
catch (FormatException)
{
Console.WriteLine("輸入非整數值。");
}
|
|
- 字串轉浮點數
轉換為浮點數 (float) |
Console.Write("輸入浮點數: ");
string input = Console.ReadLine();
if (float.TryParse(input, out float floatValue))
{
Console.WriteLine($"轉換為浮點數成功: {floatValue}");
}
else
{
Console.WriteLine("無法轉換為浮點數。");
}
|
|
轉換為浮點數 (float) |
Console.Write("輸入浮點數: ");
try
{
float floatValue = float.Parse(Console.ReadLine());
Console.WriteLine($"轉換為浮點數成功: {floatValue}");
}
catch (FormatException)
{
Console.WriteLine("輸入非浮點數值。");
}
|
|
- 字串轉雙精度浮點數
轉換為雙精度浮點數 (double) |
Console.Write("輸入雙精度浮點數: ");
string input = Console.ReadLine();
if (double.TryParse(input, out double doubleValue))
{
Console.WriteLine($"轉換為雙精度浮點數成功: {doubleValue}");
}
else
{
Console.WriteLine("無法轉換為雙精度浮點數。");
}
|
|
轉換為雙精度浮點數 (double) |
Console.Write("輸入雙精度浮點數: ");
try
{
double doubleValue = double.Parse(Console.ReadLine());
Console.WriteLine($"轉換為雙精度浮點數成功: {doubleValue}");
}
catch (FormatException)
{
Console.WriteLine("輸入非雙精度浮點數值。");
}
|
|
- 字串轉小數
轉換為小數 (decimal) |
Console.Write("輸入 decimal 數字: ");
string input = Console.ReadLine();
if (decimal.TryParse(input, out decimal decimalValue))
{
Console.WriteLine($"轉換為 decimal 小數成功: {decimalValue}");
}
else
{
Console.WriteLine("無法轉換為 decimal。");
}
|
|
轉換為小數 (decimal) |
Console.Write("輸入 decimal 數字: ");
try
{
decimal decimalValue = decimal.Parse(Console.ReadLine());
Console.WriteLine($"轉換為 decimal 小數成功 {decimalValue}");
}
catch (FormatException)
{
Console.WriteLine("輸入非 decimal 小數值。");
}
|
|
- 字串轉布林值
轉換為布林值 (bool) |
Console.Write("輸入布林值 (True/False): ");
string input = Console.ReadLine();
if (bool.TryParse(input, out boolValue))
{
Console.WriteLine($"轉換為布林值成功: {boolValue}");
}
else
{
Console.WriteLine("無法轉換為布林值。");
}
|
|
轉換為布林值 (bool) |
Console.Write("輸入布林值 (True/False): ");
try
{
bool boolValue = bool.Parse(Console.ReadLine());
Console.WriteLine($"轉換為布林值成功 {boolValue}");
}
catch (FormatException)
{
Console.WriteLine("輸入非布林值。");
}
|
|
字串分割
整數數列字串分割
Console.Write("輸入包含整數的字串(以空白分隔): ");
string input = Console.ReadLine();
int[] integers =
input.Split(' ')
.Select(str => int.TryParse(str, out int result) ? result : 0)
.ToArray();
Console.WriteLine("轉換後的整數陣列: ");
foreach (int num in integers)
{
Console.Write($"{num} ");
}
另一種方法:
int numbers = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
浮點數 float 數列字串分割
Console.Write("輸入一串浮點數數列的字串(以空白分隔): ");
string input = Console.ReadLine();
float[] floatValues =
input.Split(' ')
.Select(str => float.TryParse(str, out float result) ? result : 0)
.ToArray();
Console.WriteLine("轉換後的浮點數陣列: ");
foreach (float num in floatValues)
{
Console.Write($"{num} ");
}
浮點數 double 數列字串分割
Console.Write("輸入一串浮點數數列的字串(以空白分隔): ");
string input = Console.ReadLine();
double[] doubleValues =
input.Split(' ')
.Select(str => double.TryParse(str, out double result) ? result : 0)
.ToArray();
Console.WriteLine("轉換後的浮點數陣列: ");
foreach (double num in doubleValues)
{
Console.Write($"{num} ");
}
字串分割轉字串陣列
Console.Write("輸入若干字串(以空白分隔): ");
string input = Console.ReadLine();
string[] strings = input.Split(' ');
Console.WriteLine("轉換後的整數陣列: ");
foreach (string num in strings)
{
Console.Write($"{num} ");
}
若是以逗點分割,則將 input.Split(' ') 改成 input.Split(',') 即可。
字串分割轉整數陣列
Console.Write("輸入若干字串(以空白分隔): ");
string input = Console.ReadLine();
int[] numbers = Array.ConvertAll(input.Split(' '), int.Parse);
Console.WriteLine("轉換後的整數陣列: ");
foreach (int num in numbers)
{
Console.Write($"{num} ");
}
字串去除內部所有空白
userInput = string.Join("", userInput.Split(default(string[]), StringSplitOptions.RemoveEmptyEntries));
綜合範例
輸入三種類型資料做分割、轉換。
class Program
{
static void Main()
{
Console.Write("輸入整數: ");
string input = Console.ReadLine();
if (int.TryParse(input, out int integerValue))
{
Console.WriteLine($"轉換為整數成功: {integerValue}");
}
else
{
Console.WriteLine("無法轉換為整數。");
}
Console.Write("輸入浮點數: ");
input = Console.ReadLine();
Console.WriteLine(float.TryParse(input, out float floatValue)? $"轉換為浮點數成功: {floatValue}": "無法轉換為浮點數。");
Console.Write("輸入雙精度浮點數: ");
try
{
double doubleValue = double.Parse(Console.ReadLine());
Console.WriteLine($"轉換為雙精度浮點數成功: {doubleValue}");
}
catch (FormatException)
{
Console.WriteLine("輸入非雙精度浮點數值。");
}
Console.Write("輸入包含整數的字串(以空白分隔): ");
input = Console.ReadLine();
int[] integers =
input.Split(' ')
.Select(str => int.TryParse(str, out int result) ? result : 0)
.ToArray();
Console.Write("轉換後的整數陣列: ");
foreach (int num in integers)
{
Console.Write($"{num} ");
}
Console.Write("\n輸入一串浮點數數列的字串(以逗點 , 隔開): ");
input = Console.ReadLine();
double[] doubleValues =
input.Split(',')
.Select(str => double.TryParse(str, out double result) ? result : 0.0)
.ToArray();
Console.Write("轉換後的浮點數陣列: ");
foreach (double num in doubleValues)
{
Console.Write($"{num} ");
}
}
}
執行結果

|