一、整型數字計算
? ? ? ? 如果我們想執行以下程序:程序提示用戶輸入一個數字并輸出?num + 20
?的結果,我們的思維應該是這樣的:
using System;public class Class1
{public static void Main(string[] args){Console.WriteLine("Enter the first number:"); //提示用戶輸入數字num = Console.ReadLine(); //讀取數字Console.WriteLine(num + 20); //輸出數字num + 20Console.ReadKey();}
}
? ? ? ? 我們會收到以下報錯:
? ? ? ? 1、CS0103: The name 'num' does not exist in the current context.? 這是因為?num
?變量沒有聲明。Console.ReadLine()
?返回的是字符串類型,需要先聲明一個變量來存儲輸入的值。
? ? ? ? 2、CS0019: Operator '+' cannot be applied to operands of type 'string' and 'int'.? 這是因為Console.ReadLine()
?返回的是字符串類型,而?20
?是整數類型。你不能直接將字符串和整數相加,需要先將字符串轉換為整數。
? ? ? ? 所以,既然我們想要的是整型數字相加的結果,那么我們首先可以:
? ? ? ? 1、聲明一個變量存儲輸入的字符串;
? ? ? ? 2、將用戶輸入的字符串轉換為整數;
? ? ? ? 3、將整數 + 20 并輸出。代碼如下:
using System;namespace ConsoleApp1
{internal class Program{static void Main(string[] args){Console.WriteLine("Enter the first number:");string str = Console.ReadLine(); // 讀取用戶輸入的字符串int num = int.Parse(str); // 將用戶輸入的字符串轉換為整數int ret = num + 20;Console.WriteLine(ret);Console.ReadKey();}}
}
? ? ? ? 我們可以嘗試輸入20,程序會順利的輸出40。但是這里我們還需補充一個函數知識:Parse()
?
二、Parse()
?函數
? ? ? ?1、Parse()
的主要作用是將字符串解析為指定的數據類型,常見的有:int.Parse()
、double.Parse()
、DateTime.Parse(),
分別對應整數、浮點數、日期等數據類型的轉換。
? ? ? ? 2、Parse()
?要求輸入的字符串必須完全符合目標數據類型的格式,否則會拋出異常。例如,int.Parse("abc")
?會拋出?FormatException
,因為?"abc"
?不是有效的整數。
? ? ? ? 3、如果輸入的字符串無法解析為目標類型,Parse()
?會拋出異常。常見的異常包括:?
? ? ?FormatException
:字符串格式不正確。
? ? ?ArgumentNullException
:輸入的字符串為?null
。
? ? ?OverflowException
:字符串表示的數值超出目標類型的范圍(例如,int.Parse("99999999999999999999")
)。
? ? ? ? 4、TryParse()
?是?Parse()
?的安全版本,它不會拋出異常,而是返回一個布爾值表示解析是否成功。如果解析成功,結果會存儲在輸出參數中。如果輸入可能無效,建議使用?TryParse()
,因為它更安全且不會拋出異常。
三、字符串拼接
? ? ? ? 如果我們在原有函數基礎上不想進行整型數字的計算了,而是就像讓它完成字符串的拼接,我們要怎么做呢?
? ? ? ? 首先,因為無需整型,所以我們不需要 int() 函數定義我們輸入的字符串,但是數字 20 是整型,這個時候我們必須將 20 轉換為字符串,也就是說,我們最終的結果應該為“你輸入的字符串20”,那我們C#在整型轉換成字符串也有類似Parse()
的函數,ToString()。
using System;namespace Text2
{internal class Program{static void Main(string[] args){Console.WriteLine("Enter the first number:");string str = Console.ReadLine(); // 讀取用戶輸入的字符串string num = str + 20.ToString(); // 將用戶輸入的字符串與字符串 "20" 進行拼接Console.WriteLine(num); //輸出拼接后的字符串Console.ReadKey();}}
}?
? ? ? ? 經過調整以后,我們輸入20,可以得到程序輸出 2020,說明我們的字符串拼接成功。