方法的內容要單一
方法最忌諱的就是提示用戶輸入信息 用戶輸入信息應該在Main()方法中寫
使用out參數
當使用一個方法時 需要返回多個相同類型的值時 可以考慮使用數組
當時當方法需要返回多個不同類型的值時 明顯使用數組是不可行的 這個時候就要考慮使用out參數了
eg://驗證登錄信息 當賬號密碼輸入正確 則 提示登錄成功 賬號輸入錯誤則提示賬號輸入錯誤 密碼輸入錯誤提示密碼輸入錯誤 賬號密碼都輸入錯誤則提示賬號密碼都不匹配
public static bool Login(string acount,string password ,out massage)//這裏out參數修飾的massage參數是多餘輸出的參數
{
if(acount=="asd8423"&&password=="123456")
{
massage="登錄成功!!";
return true;
}
else if(acount=="asd8423"){
massage="密碼輸入錯誤";
return false;
}
else if (password=="123456")
{
massage="賬號輸入錯誤";
return false;
}
else
{
massage="賬號密碼輸入錯誤";
return false;
}
}
調用方法
static void Main(string [] args)
{
string acount="";
string password="";
bool judge=false;//接受輸入從方法中返回的值
do
{
Console.WriteLine("請輸入賬號");
acount=Console.ReadLine();
Console.WriteLine("請輸入密碼");
password=Console.ReadLine();
string massage;//用out 修飾的的變量可以不用賦初始值 他可以從方法中得到數值
judge=Login(acount ,password,out massage);
if(judge==true)
{
Console.WriteLine(massage);
}
else
{
Console.WriteLine(massage);
}
}while(juage!=true);
Console.ReadKey();
}
使用ref參數
ref側重於將參數帶進方法 經過方法計算 然後將計算後的值帶出來Main方法中需要帶進方法的參數必須要賦初值 實參 形參的要改變得數值都要用ref修飾
C#中string類的運用
a.Equals() 比較兩個字符串是否相等 與"=="相同 在c#中這兩者都可以比較值相等 但嚴格來說 "=="比較的是兩者的內存地址是否相等
b.Compare( string a ,string b) 比較兩個字符串的大小 如果 a比b大 則返回 1 b比a大時 則返回-1 兩個值相等時返回0
c.Substring(int startIndex,int length) 從字符串中截取一段子字符串 startindex 要截取的開始位置 length是子字符串的長度
d.Split(char symbol ) 切割字符串 symbol是要按照什麼字符切割字符串
e.string.Join(string symbol,string [] word) 按照想要的字符串來連接字符串
f.IndexOf(string sigle) 搜索字符串是否存在single 如果存在就輸出第一次出現single所在的位置 如果沒有返回-1
g.LastIndexOf(string sigle) 搜索字符串是否存在single 如果存在就輸出最後一次出現single所在的位置 如果沒有返回-1
h.ToLower() 字符串小寫
i.ToUpper() 字符串大寫
j.Trim() 去掉字符串前後的空格 去不掉字符串中空格
Format 格式化
語法:string mystring =String.Format(格式字符串,參數列表)
格式字符串 格式:({索引 ,對齊 :格式說明符})
索引 :對應參數列表的值
對齊:一個帶正負號的整數 設置顯示寬度和對齊方式 正代表左對齊 負代表右對齊
類型轉換:
a:隱式轉換(自動轉換)
b:顯式轉換(強制轉換)
i:(數據類型) eg:(int)強制轉換成int類型 但轉換過程會丟失精度
II:int.Parse(string value) 括號中只能放置string類型參數
III:Convert.ToInt32(object value)括號中可以放置任何類型的參數 轉換後的值 四捨五入