1 不支持將類型float隱式轉(zhuǎn)換為int,畢竟會(huì)導(dǎo)致精度缺失,當(dāng)然在C++語言中是允許的
網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù)團(tuán)隊(duì)是一支充滿著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時(shí)竭誠(chéng)為客戶提供服務(wù)是我們的理念。創(chuàng)新互聯(lián)公司把每個(gè)網(wǎng)站當(dāng)做一個(gè)產(chǎn)品來開發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!
代碼
class Program
{
static void Main(string[] args)
{
float aa = 3;
int aaa = aa;
}
}
2 foreach不支持對(duì)遍歷對(duì)象屬性的修改
參考
http://www.cnblogs.com/chensuqian/p/4882207.html
http://www.cnblogs.com/jobs/archive/2004/07/17/25218.aspx
3 struct結(jié)構(gòu)體變量是一種不可以為null值的類型
代碼
public struct TreeNode
{
public int data;
public TreeNode leftChild;
public TreeNode rightChild;
public TreeNode parent;
}
嘗試定義一棵樹的節(jié)點(diǎn),其中指向左右節(jié)點(diǎn)和雙親節(jié)點(diǎn),編譯出錯(cuò):變量是一種不可以為null值的類型
正確
public class TreeNode
{
public int data;
public TreeNode leftChild;
public TreeNode rightChild;
public TreeNode parent;
}
4 修飾符“static”對(duì)該項(xiàng)無效
類方法的局部變量添加static關(guān)鍵字,再編譯時(shí) C# 編譯器會(huì)報(bào)告以下錯(cuò)誤:error CS0106: 修飾符“static”對(duì)該項(xiàng)無效
C# 語言不允許使用 static 修飾符來聲明方法內(nèi)部的變量。但是在 C/C++ 語言中是允許這么做的。因此只能在類中定義一個(gè)靜態(tài)變量成員,然后提供給類方法調(diào)用
5不可訪問,因?yàn)樗鼙Wo(hù)級(jí)別限制
為了訪問結(jié)構(gòu)體定義的成員,定義在結(jié)構(gòu)體的public允許命名空間之外進(jìn)行訪問,如果需要訪問結(jié)構(gòu)體的變量成員,還必須在定義之前添加public關(guān)鍵字,這一點(diǎn)跟C++完全不一樣
代碼
public struct Link
{
public int startNodeID;
public int endNodeID;
public bool forward;
public bool backward;
public int length;
public int roadClass;
}
6 非泛型“***”不能與類型實(shí)參一起使用的錯(cuò)誤
原因
缺少包含:using System.Collections.Generic;
代碼
public class Cost
{
public double cost;
public int id;
}
public class CostComparer : IComparer
{
public int Compare(Cost x, Cost y)
{
if (x.cost - y.cost < 1e-10)
{
return -1;
}
else
{
return 1;
}
}
}