【關於c#】幾分鐘帶你入門 c#
本篇文章的面相讀者是起碼掌握並比較熟練於至少一種面嚮物件語言的初學程式設計者。
c# 是微軟公司自己開發的一種語言,比較類似於 java。而且,相對於
c++
而言,c# 的優勢可以體現在其程式碼更為簡練。雖然叫 c#,但是,我認為這個語言更像 Java 而不是 c++。
本文會介紹最簡單最常用的一些 c# 的程式設計方法,往深裡面探索的事情,就交給諸位了。
C# 的常用開發環境可以選擇
visual studio
。
1、計算
c# 是注重型別的一種語言,不同於 python,外加要寫分號,加分號,加分號。
int
a
=
4
;
int
b
=
7
;
int
c
=
a
+
b
;
Console
。
WriteLine
(
c
)
請自行嘗試一下 double 等其他變數的基本運算操作。請注意,c# 中的列印方法稍微麻煩一些,你需要在程式的最前面新增
using System;
不過,一般地,當你使用 vs 的時候,人家已經幫你寫上了。
2、
陣列
var
l
=
new
List
<
int
>();
l
。
Add
(
2
);
l
。
Add
(
5
);
l
。
Add
(
8
);
l
。
Add
(
1
);
c# 的陣列申請方式比較像 java,雖然沒有 python 那麼簡單 l = [], 但是這種陣列的申請也並不複雜,按上述步驟編寫程式碼後,你會有一個 l = [2,5,8,1] 的陣列。
3、條件
和任何其他語言一樣,c# 的
條件句
可以說沒有任何區別
if
(
a
>
b
)
{
Console
。
WriteLine
(
“a>b”
);
}
else
{
Console
。
WriteLine
(
“a<=b”
);
}
4、迴圈
和 c,java一樣,c有著 while,do while 和 for 這三種迴圈方法,其使用方法與上述語言別無二致。
int
a
=
1
;
while
(
a
<
10
)
{
a
++;
Console
。
WriteLine
(
$“{a}”
);
}
do
{
a
+=
1
;
Console
。
WriteLine
(
$“{a}”
);
}
while
(
a
<
20
);
執行上述程式,我們會看到 a 從2到20的列印結果。
以及,for 的用法,這個用法更像 python。
var
l
=
new
List
<
int
>();
l
。
Add
(
2
);
l
。
Add
(
5
);
l
。
Add
(
8
);
l
。
Add
(
1
);
l
。
Sort
();
foreach
(
var
ele
in
l
)
{
Console
。
WriteLine
(
ele
);
}
打印出來,那麼由於使用了 Sort 方法,顯示的結果應該是 1,2,5,8
5、函式
相似的,c# 的函式宣告也與其他語言並沒有什麼不同,但是,c# 畢竟是面相物件語言,我們在一個類的內部定義函式的時候要考慮到許可權的問題,如果你想給予該函式寬鬆的訪問許可權,那麼,可以給予 public。
比如下面這個函式:
public
void
chase_rat
()
{
Console
。
WriteLine
(
“chasing rat”
);
}
以上是 c# 的面相過程部分必須要掌握的基本要素,下面我們介紹面相物件部分。
與 c 和 python 不同,c# 是典型的
面向物件
語言,那麼面嚮物件語言裡面最重要的兩個概念,類還有介面是我們率先要學習的。
對於初學者而言,你不需要把類理解的非常通透,你可以先大概地理解為,這是一種結構體,只不過它更加複雜,裡面不僅僅有變數和資料,而且還有方法。如果你想稍微深入地瞭解一下類和介面如何比較恰當地使用,你可以參照:
1、類
那麼我們定義一個 Animal 類。
class
Animal
{
int
age
=
0
;
double
weight
;
public
void
eat
()
{
Console
。
WriteLine
(
“eating”
);
}
}
我們可以清楚地看到,這個類裡面有兩個變數 age 和 weight,一種方法 eat()。理解到這裡就可以了。
2、介面
我們定義一個 Sleep 介面,這個接口裡有一個 Sleep 方法。
interface
Sleep
{
void
sleep
();
}
你只需要重視一點,那就是這個 sleep 方法並沒有被實現。
3、繼承與實現
我們再定義一個類 Cat 繼承 Animal,實現 Sleep,請注意在 c# 裡面,繼承和實現都可以用 :來表達。
class
Cat
:
Animal
,
Sleep
{
public
void
chase_rat
()
{
Console
。
WriteLine
(
“chasing rat”
);
}
public
void
sleep
()
{
Console
。
WriteLine
(
“sleeping”
);
}
}
需要注意的有兩點。
1、既然 Cat 繼承了 Animal, 那麼 Animal 的變數和方法都會被 Cat 得到。
2、Cat 實現了 Sleep,就代表 Sleep 裡面宣告的方法 Cat 都需要去實現。
那麼我們再主函式中驗證一下我們的猜想:
Cat
c
=
new
Cat
();
c
。
eat
();
c
。
chase_rat
();
c
。
sleep
();
好了,當上述知識你都掌握了,可以說,你入門了,接下來的細緻深♂入的學習就靠你自己了。