码迷,mamicode.com
首页 > Windows程序 > 详细

《C#高级编程》【第二章】核心C#编程 -- 学习笔记

时间:2015-05-13 14:50:59      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

       之前准备省赛,没有时间学这个。现在省赛结束了,时间稍微多了一些所以准备学一点,由于这次省赛的成绩不是很好,所以我应该还是把主要的时间花在算法上。C#的话只能每周花点时间看看。由于没有用太多的时间来学习,所以就想以博客的形式记录自己学习历程。同时在总结归纳的过程中,应该可以使我对它的理解会更加深刻一些。 --- 前言

       话说,"Hello World!"是每个程序员接触一门语言的第一个程序,当然作为 将来的程序员的 我也一样不例外,我的"Hello World!"

using System;

namespace MyFirstProgram
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Console.ReadKey();
        }
    }
}

      虽然“Hello World!”,已经写过好几遍,但还是有种激动的感觉。(可能是我比较Low技术分享

      C#作为C开头的语言,其带有的C风格,还是对学过C\C++的同学比较友好,感觉比较舒服。

C#与C\C++对比,不同之处:

1、变量上多了一个类型推断 var 关键字。编译器可以根据变量的初始化值进行推断 变量的类型。

var a = "hello"; //像这样,编译器就会推断出变量 s 为 string 类型

2、预定义数据类型中,C#分为了 值类型 和 引用类型,值类型和C\C++差不多,引用类型感觉有点新,其实就有点像C++的引用

using System;

namespace MyFirstProgram
{
    class Vector
    {
        public int value;
    }
    class Program
    {
        static void Main(string[] args)
        {
            Vector x,y;
            x = new Vector();
            x.value = 30;
            y = x;
            Console.WriteLine(y.value);
            y.value = 50;
            Console.WriteLine(x.value);
            Console.ReadKey();
        }
    }
}

输出结果为 30和50。有没发现什么,相信你已经发现,上面的运行结果告诉我们以上代码中就只有一个对象。为什么呢?

因为在C#中 要创建真正的对像就必须使用 new 关键字。

Vector x,y;   //如果是这样,那么系统都不会创建真正的对象

比如,string类,在C#中string类型是一个引用类型。string对象会被分配到堆上,而不是栈上。到一个字符串变量赋予另一个字符串时,会得到对内存中同一个字符串的两个引用

string str1, str2;
str1 = "hello World";
str2 = str1;

像上述例子,str1,str2都是指向“hello World”的引用并不是真正的对象。但是string与其他常见的引用类型又有一些区别:比如,字符串是不能修改的。修改其中一个字符串,就会创建一个全新的string对象,而另一个字符串将不会改变。C#中对于斜杠等字符输出还引入了一个更好的方法。在字符串前加‘@’,在这个字符后的所有的字符都只有他原来的含义----它们不会被解释为转义字符:

string filePath = @"C:\CSharp\MyfirstProgram.cs";

3、在bool类型上,C#不会将 1 作为 true, 0 作为 false。 bool的值 就是 True 和 False,不是 1和 0.

4、在循环控制上,其多了一个 foreach 循环。foreach可以循环迭代集合中的每一项。

5、C#与C++的switch不同之处:①C#的switch 的case子句的排放顺序无关紧要,甚至可以将default 放在最前面。②在C#中,可以将字符串作为测试的变量。

6、在注释上,C#支持C\C++的注释方法,同时引入了XML格式的文档说明,这个注释是以3条斜杠(///)开头,且是单行注释。C#编译器可以把XML元素从特定的注释中提取出来,并使它生成一个XML文件。要让程序集生成XML文档,需要在编译时指定 /doc选项后跟创建的文件名


       C#的语法风格与C++比较接近,以上是其存在的一些区别。但是C#的类型检查机制,比C++严格许多。比如,若是使用未赋值的变量,那么编译器将会报错。在C++中,只用一个警告甚至在有的IDE上连警告都没有。




《C#高级编程》【第二章】核心C#编程 -- 学习笔记

标签:

原文地址:http://blog.csdn.net/luomingjun12315/article/details/45691649

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!