下面是8個c#程式設計時的注意事項是給初學者的,可能你知道,也可能你不知道,不過這些都是一些可能會讓人疏忽的地方,還是要注意一下。
1.使用string變數:
考慮有下面的乙個程式想判斷一下字串是否有內容。
1
2
3
4
if
(somestring.length > 0)
但是,這個字串物件很可能是個空物件,所以,最好先判斷一下null
1
2
3
4
if
(!string.isnullorempty(somestring))
2.字元器連線1
2
3
4
5
6
7
string
s = 「dev」;
s += 「-」;
s += 「the」;
s += 「-」;
s += 「web」;
s += 「.」;
s += 「com」;
12
3
4
5
6
7
8
stringbuilder s =
new
stringbuilder();
3.使用console1
console.writeline(
"a= "
+ 1 +
" b="
+ 2 +
" c= "
+ somevalue);
和第二點說的一樣,這並沒有效率,使用下面的語句,會更有效率。
1
console.writeline(」a: \nb: \nc: 」, 1, 2, somevalue);
4.字串轉整型1
int
i =
int
.parse(request.querystring[
"id"
]);
這樣做的問題是,如果有人這樣請求你的頁面:yourpage.aspx?id=a6,那麼a6將會導致你的程式丟擲乙個異常。因為a6不是乙個整數字串。使用tryparse會好一點。
1
2
3
4
5
int
i;
if
(!
int
.tryparse(request.querystring[
"id"
] ,
out
i))
5. 呼叫idbconnection 的 close 方法1
2
3
4
5
6
7
8
9
10
11
idbconnection dbconn =
null
;
try
finally
呼叫sqlconnection的建構函式可能會出現乙個異常,如果是這樣的話,我們還需要呼叫close方法嗎?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
idbconnection dbconn =
null
;
try
finally
}
6.使用list類1
2
3
4
5
6
7
public
void
somemethod(listitems)
}
如果我們只是遍歷list容器中的所有內容的話,那麼,使用ienumerable介面會更好一些。因為函式引數傳遞乙個list物件要比乙個ienumerable介面要花費更多的開銷。
1
2
3
4
5
6
7
public
void
somemethod(ienumerableitems)
}
7.直接使用數字1
2
3
if
(mode == 1)
else
if
(mode == 2)
else
if
(mode == 3)
為什麼不給你的這些數字取個名字呢?比如使用enumerations。
1
2
3
4
5
6
7
8
9
10
public
enum
someenumerator
if
(mode == someenumerator.defaultmode)
else
if
(mode == someenumerator.safemode)
else
if
(mode == someenumerator.normalmode)
8.字串替換1
2
string
s =
"www.coolshell.cn is a amazing site"
;
s.replace(
"amazing"
,
"awful"
);
字串s的內容什麼也不會改變,因為string返回的是替換過的字串。這點很多初學者經常忘了。下面就沒有問題了。
1
s = s.replace(
"amazing"
,
"awful"
);
初學C 程式設計的注意事項
code usingsystem usingsystem.collections.generic usingsystem.linq usingsystem.text usingsystem.data.sqlclient usingsystem.data usingsystem.collections...
初學C 程式設計的注意事項
code usingsystem usingsystem.collections.generic usingsystem.linq usingsystem.text usingsystem.data.sqlclient usingsystem.data usingsystem.collections...
初學C 程式設計的注意事項
code usingsystem usingsystem.collections.generic usingsystem.linq usingsystem.text usingsystem.data.sqlclient usingsystem.data usingsystem.collections...