熟悉某项目代码---零碎小知识总结

ushort与short的区别

 ushort:0-65535(范围),无符号16位整数,.net framework类型--System.UInt16

short:-32768-32767,有符号16位整数,.net framework类型--System.Int16

 

XML读写文件,删除节点复习

public static void Delete(string path,string boxNum)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(path);

XmlNode rootXml = doc.SelectSingleNode("/BoxTable");  //找到这个节点

if (rootXml.HasChildNodes) //如果存在子节点
{
XmlNodeList xnls = rootXml.ChildNodes;
foreach (XmlNode xn in xnls)
{
XmlElement xe = (XmlElement)xn;
if (xe.GetAttribute("BoxNumber") == boxNum)
{
xn.ParentNode.RemoveChild(xn);

//xn.RemoveAll(); 这只能删除这个节点的所有属性,并不能删除这个节点
}
}
}
doc.Save(path);
}
catch(Exception e)
{

}
}

 unsafe的概念

使用unsafe的时候:(要注意一定要点击项目属性---把标红的那项打上勾)

代码:

class ShortClass
{
//ushort str = 0x11fffff;

public void show()
{
unsafe
{
int[] arry = new int[10];
for (int i = 0; i < arry.Length; i++)
{
arry[i] = i;
}

fixed (int* p = arry)
{
for (int i = 0; i < arry.Length; i++)
{
Console.WriteLine(p[i]);
}
}
}
}
}

 

fixed关键字:

fixed 语句禁止垃圾回收器重定位可移动的变量。

fixed 语句只能出现在不安全的上下文中。

Fixed 还可用于创建固定大小的缓冲区。

fixed 语句设置指向托管变量的指针并在 statement 执行期间“钉住”该变量。

如果没有 fixed 语句,则指向可移动托管变量的指针的作用很小,因为垃圾回收可能不可预知地重定位变量。

C# 编译器只允许在 fixed 语句中分配指向托管变量的指针。

 

posted @ 2014-12-26 17:23  CskyWarrior  阅读(92)  评论(0编辑  收藏  举报