Beginner with c# 6 (轉)
Beginner with c# 6 (轉)[@more@]趕出一編!請指正!
1。6 統一型別(Type system unification)
獨創了一種型別——統一系統型別(為了這個累刑,我頭疼死了。誰有更好的名字,請務必告訴
我)。總之,所有的其他型別,包括值和引用,都可以被當作統一系統型別來對待。從概念上說,
所有的型別都從它派生。這樣,其他的型別就可以使用統一系統型別的屬性和方法。包括一些“簡
單”型別,如:int。還是給個例子吧:*/
using System;
class Test
{
static void Main() {
Console.WriteLine(3.ToString());
}
}
/*“3.ToString()”了的“ToString()”方法。相信學過c/c++的朋友都知道要輸出一個
數字有多麻煩,現在就省事了。再看一個:*/
class Test
{
static void Main() {
int i = 123;
object o = i; // boxing
int j = (int) o; // unboxing
}
}
/* 這個像帽子戲法的例子中,從“int”轉換成“object”,又轉換回來。這樣一來,在值和引用
之間就架起了一座橋樑。這樣有什麼用呢。即興舉一個常見的例子...就min把。在c/c++中:*/
// c/c++ code
void min(int i, int j)
{
return ((i < j) ? i : j);
}
/* 如果比較的不是int,或者說可能是int,也可能是float、double呢?可以這樣:*/
template
T min (T i, T j)
{
return ((i < j) ? i : j)
}
/* 用c#可以:*/
void s (object a, object b)
{
return ((i < j) ? i : j);
}
/* 我想大家一定看出來第二個例子要比較一個int和一個float的話,還需要一些轉換,而第三個
例子就可以比較所有的變數!這個靈活度簡直太大了。所以,我私以為,大家使用時一定要小心!
它在比較一個int和一個class的時候決不會報錯的。呵呵,我發現我的翻譯總是越跑越遠,總是
扣不住原文。篡改甚多,敬請原諒!
1。6 統一型別(Type system unification)
獨創了一種型別——統一系統型別(為了這個累刑,我頭疼死了。誰有更好的名字,請務必告訴
我)。總之,所有的其他型別,包括值和引用,都可以被當作統一系統型別來對待。從概念上說,
所有的型別都從它派生。這樣,其他的型別就可以使用統一系統型別的屬性和方法。包括一些“簡
單”型別,如:int。還是給個例子吧:*/
using System;
class Test
{
static void Main() {
Console.WriteLine(3.ToString());
}
}
/*“3.ToString()”了的“ToString()”方法。相信學過c/c++的朋友都知道要輸出一個
數字有多麻煩,現在就省事了。再看一個:*/
class Test
{
static void Main() {
int i = 123;
object o = i; // boxing
int j = (int) o; // unboxing
}
}
/* 這個像帽子戲法的例子中,從“int”轉換成“object”,又轉換回來。這樣一來,在值和引用
之間就架起了一座橋樑。這樣有什麼用呢。即興舉一個常見的例子...就min把。在c/c++中:*/
// c/c++ code
void min(int i, int j)
{
return ((i < j) ? i : j);
}
/* 如果比較的不是int,或者說可能是int,也可能是float、double呢?可以這樣:*/
template
T min (T i, T j)
{
return ((i < j) ? i : j)
}
/* 用c#可以:*/
void s (object a, object b)
{
return ((i < j) ? i : j);
}
/* 我想大家一定看出來第二個例子要比較一個int和一個float的話,還需要一些轉換,而第三個
例子就可以比較所有的變數!這個靈活度簡直太大了。所以,我私以為,大家使用時一定要小心!
它在比較一個int和一個class的時候決不會報錯的。呵呵,我發現我的翻譯總是越跑越遠,總是
扣不住原文。篡改甚多,敬請原諒!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987298/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Beginner with C# (轉)C#
- Beginner with c# 5 (轉)C#
- Beginner with c# 2 (轉)C#
- Beginner with c# 3 (轉)C#
- Beginner with c# 4 (轉)C#
- Beginner with c# 7 (轉)C#
- (6/6) AtCoder Beginner Contest 186
- VB程式設計師眼中的C# 6 (轉)程式設計師C#
- QT beginner QFileDialogQT
- C#基礎之介面(6)C#
- WHAT IS C# (轉)C#
- C#快速入門教程(6)——方法C#
- C#:Dictionary轉DataTableC#
- 可怕的 C# (轉)C#
- C#聊天程式 (轉)C#
- C# 和 API (轉)C#API
- C#問答 (轉)C#
- c# DataTable轉ListC#
- C# 操作xml(轉)C#XML
- AtCoder Beginner Contest 360
- AtCoder Beginner Contest 343
- AtCoder Beginner Contest 344
- AtCoder Beginner Contest 345
- AtCoder Beginner Contest 346
- atcoder beginner 346 題解
- 【AtCoder Beginner Contest 347】
- AtCoder Beginner Contest 348
- AtCoder Beginner Contest 347
- AtCoder Beginner Contest 349
- AtCoder Beginner Contest 363
- AtCoder Beginner Contest 364
- AtCoder Beginner Contest 365
- AtCoder Beginner Contest 361
- AtCoder Beginner Contest 361)
- AtCoder Beginner Contest 362
- AtCoder Beginner Contest 366
- AtCoder Beginner Contest 369
- AtCoder Beginner Contest 044