![]() |
|
Spaces home prowyh's spaceProfileFriendsBlogMore ![]() | ![]() |
|
Added a blog entry "轰炸机驾驶员、柔道高手、钓鱼专家、猎虎英雄"
据俄罗斯国家电视台网站8月31日报道,普京日前与俄罗斯研究人员一同前往俄罗斯一个国家森林公园跟踪研究西伯利亚猛虎的野外生活。正当普京与野生动物研究专家来到一只被束缚的猛虎面前时,这只老虎突然挣脱枷锁,朝随行的电视台工作人员扑去。就在这时,普京迅速拿起麻醉枪向猛兽射去一支麻醉剂,工作人员这才脱险。在虎中弹入睡后,普京亲手为虎戴上装备全球定位系统的项圈,以便科研人员监控它的动向和健康状况。俄罗斯 September 02 11:41 PM Added a blog entry "对象引用与托管指针(object references and managed pointers)" C/C++中的指针是一种非常灵活而强大的引用机制,但同时也非常脆弱,稍有不慎,就会出错。
Java完全摈弃了指针的概念,而代之以对象引用(object reference),基本上消灭了由指针而导致的错误。
C#借鉴了Java的作法,引入了对象引用的概念,但同时,不像Java做的那么绝,仍然提供了指针的概念。
CLR支持三种类型的指针:
1) 托管指针(managed pointe July 21 1:44 AM Added a blog entry "To box or not to box (III)" C#代码:
using System;
public class Test
{
public static void Main()
{
object o = 30;
int k = (int)o;
}
}
编译以后,生成如下的IL代码:
.method public hidebysig static void Main() cil managed{ .entrypoint / July 20 12:10 AM Added a blog entry "To box or not to box (II)" C#代码:
using System;
public class Test
{
public static void Main()
{
int n = 30;
Console.Write("n: {0}", n);
}
}
编译以后,将生成如下的IL代码:
.method public hidebysig static void Main() cil managed{ .ent July 19 9:45 PM Added a blog entry "To box or not to box" 给定:
int n = 30;
下面的两条C#语句有什么区别吗?
1. System.Console.WriteLine("n: {0}", n);
2. System.Console.WriteLine("n: {0}", n.ToString());
当然,这两条语句产生的结果是没有任何区别的:
n: 30
既然如此,还有什么可研究的吗?先别急着下结论,研究研究再说。
July 15 2:46 AM |
|
||||
|
|