記錄一下在平常開發過程當中遇到的一些C# 基礎編程的知識!express
但願之後能用的着。知識是在日常的開發過程當中去學到的。只有用到了,你才能深刻的理解它,並用好它。編程
本資料來源於:MSNDide
下面是一些相關的code 和 說明。spa
As 關鍵字 (屬於運算符關鍵字)code
可使用 as 運算符執行轉換的某些類型 在兼容之間的引用類型 或能夠爲 null的類型。 這段話很差理解,說白了就是強制類型轉換不會throw exception。 開發
class Basestring
{it
public override string ToString()io
{class
return "Base";
}
}
class Derived : Base
{
}
class Program
{
static void Main()
{
Derived d = new Derived();
Base b = d as Base; // 引用類型的強制類型轉換
if (b != null)
{
Console.WriteLine(b.ToString());
}
}
重點注意:
As 運算符相似於強制類型轉換操做,可是惟一不一樣的是,若是轉換是不可能的,as會返回 null 而不引起異常。
expression as type 這兩給表達式的效果是同樣的。
Expression is type ? (type)expression : (type)null
注意的是: as 運算符執行只引用轉換、nullable 轉換和裝箱轉換。 as 運算符不能執行其餘轉換,如用戶定義的轉換,應是經過使用轉換的表達式。
class ClassA { }
class ClassB { }
class Program
{
static void Main()
{
object[] obj = new object[6];
obj[0] = new ClassA();
obj[1] = new ClassB();
obj[2] = "Hello";
obj[3] = 100;
obj[4] = 365.23;
obj[5] = null;
foreach (var val in obj)
{
string str = val as string; // 若是此刻類型轉換失敗,不會拋異常,而是賦空引用 null
if (str != null)
{
Console.WriteLine("string: " + str);
}
else
{
Console.WriteLine(val + " not string type");
}
}
Console.ReadLine();
} }