1.賦值出錯問題
float f = 3.5;//會報錯,原因是在C#中浮點型中的默認類型為double型,所以應寫成3.5f
short x = 5, y = 10;//這裡不會報錯
short s;
s = x + y;//但這裡會報錯,因為賦值時的數字5和10可被視做short型,但在進行四則運算時則會變成int型,所以要寫成(short)(x+y),在C#中int是整型的默認類型.下面列舉一些常用數據的表示形式
123是int型,123L是long型,123UL是ulong型
4.23是double型,4.23m 是decimal型
2.返回值問題
在C#裡除了設置返回值類型外,可以通過關鍵字ref和out來修飾參數以達到返回的目的
static public void s(out int a)
{
a = 111;
}
static void Main(string[] args)
{
int b = 0;
s(out b);
}
也可以使用引用類型的變量來直接返回修改後的值
static public void s(string[] a)
{
a[1] = "abc";
}
static void Main(string[] args)
{
string[] str = new string[] { "aaa","bbb"};
Console.WriteLine(str[1]);//bbb
s(str);
Console.WriteLine(str[1]);//abc
Console.ReadLine();
}
在C#中數組,類,接口,委托等屬於引用類型
3.枚舉類型的定義問題enum das : int //基類型默認為int,也可以為byte,sbyte,short,ushort,uint,long,ulong中的一種
{
a,b,c,d //賦值默認從0開始,也可以強制賦值如:a=1
};
static void Main(string[] args)
{
Console.WriteLine(das.b.ToString());//顯示枚舉成員//b
Console.WriteLine(((int)das.b).ToString());//顯示該枚舉成員的值//1//枚舉到整型的轉換要是顯式的
Console.ReadLine();
}
4.關鍵字和轉義的問題
把關鍵字當做一般字符使用的方法是在前面加個@,例如:@ if,在普通的字符前也可以加這個,但要注意的是@並不充當名稱的一部分,如@5ab 是錯誤的用法.
@還有一個常用的地方是在使用路徑的時候讓字符串保持原本的含義,因為轉義序列是以"\"開頭的,例:
String filename=@"C:\Windows\abc.txt";
也可以寫成:String filename="C:\\Windows\\abc.txt";