网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
写给转向C#的C++程序员的C# FAQ
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式
程序会生成下列输出:
Sorry, don''t know Bob''s age.
Sheila is 24 years old.
7. 和C++的主要差异 7.1 我新建了一个对象,但是要怎么销毁它呢? 你无法主动销毁对象。你不能显式调用析构子,也没有delete运算符可供使用。不必担心,垃圾收集器总会销毁你的对象的。 7.2 我试图在栈上创建一个对象,但C#编译器就不干了。应该怎么办? C++不同,你不能在栈上创建类的实例。类的实例总是生存在堆上的,并由垃圾收集器管理它们的生存周期。 7.3 我定义了一个析构子,但它没有被调用到。为什么? C#中的析构子实际上只是Finalize方法的一个实现,运行时也不保证一定调用Finalize方法。C#中的析构子语意和C++的析构子语意是完全不同的。7.4 大部分C#基本类型都有着和C++基本类型相同的名称,它们是相同的东西吗? 不是。C#中的char实际上跟C++中的wchar_t是一样的。C#中所有的字符(以及字符串)都是Unicode的。C#中的整数都有确定的大小,而C++中的整数大小则取决于运行的平台。例如,C#中的int总是32位;而C++中的int通常在32位处理器平台上是32位,在64位处理器平台上则是64位。 8. 杂项 8.1 使用“==”进行的字符串比较似乎是大小写敏感的。怎样才能进行大小写不敏感的字符串比较呢? 使用String.Compare方法。这个方法的第三个参数是一个布尔值,用于指定是否忽略大小写。
"fred" == "Fred"          // false
System.String.Compare( "fred", "Fred", true )          // true
8.2 我发现有些字符串使用了“@”标记,而有些则没有。这个标记是什么意思? The @ symbol before a string literal means that escape sequences are ignored. This is particularly useful for file names, e.g.如果在字符串前面加上“@”标记,就意味着这个字符串中的转义序列将被忽略。在表示文件名时,这个标记特别有用。例如:
string fileName = "c:\\temp\\test.txt"
就等价于:
string fileName = @"c:\temp\test.txt"
8.3 C#支持可变参数吗? 可以。使用params关键字,你可以将参数指定为特定类型(例如int)的序列;如果需要极大的灵活性,甚至还可以将参数类型指定为object。使用这种办法的典型就是System.Console.WriteLine方法。 8.4 如何处理命令行参数? 就像这样:
using System;
 
class CApp
{
          public static void Main( string args )
          {
                    Console.WriteLine( "You passed the following arguments:" );
                    foreach( string arg in args )
                          Console.WriteLine( arg );
          }
}
8.5 C#会对数组边界进行检查吗? 是的。如果数组越界,系统会抛出一个IndexOutOfRange异常。 8.6 如何保证我的C#类可以和其他.NET语言互操作? 只要保证C#代码符合公共语言子集(CLS)即可。为了保证这一点,请将[assembly:CLSCompliant(true)]这个全局属性加入到你的C#源文件中。这样,如果你使用了不符合CLS的C#特性,编译器就会报错。 9. 资源 9.1 推荐书目

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号