C#基础入门学习笔记(二)

这篇博客介绍了C#基础入门学习,重点讲述了在Visual Studio 2015中使用可空类型、数组、字符串、结构体、枚举、类、继承、多态性、接口、命名空间、预处理指令、异常处理和文件输入输出。通过代码示例,特别是针对多重继承的展示,强调了在实际编程中如何组织和管理代码。
摘要由CSDN通过智能技术生成

这次学习真正用上了Visual Studio 2015 (之前都是在网页上用.NET编译器)。

本次学习了C#的知识如下:

可空类型、数组(Array)、字符串(Array)、结构体(Struct)、枚举(Enum)、

类(Class)、继承、多态性、接口(Interface)、命名空间(Namespace)、

预处理指令、异常处理、文件输入输出。

 

下面贴代码,代码量略大,用了 #region 把注释分类都已经做好了,在VS上看着很清爽。

网页上反而看着乱糟糟,所以直接复制到VS下运行吧。

从Main里面挨个对照看下来就行,不用多讲。

主程序文件下Main:

#define PI     //预处理指令

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using space_1;                         //using指令:引入命名空间
using othername = space_2;  //using给space_2起别名
using space_1.space_1_1;       //嵌套内命名空间用 ( . ) 可以访问
using Practice;


namespace Practice
{
    #region 按输出传递参数
    class count
    {
        public void values(out int i)
        {
            int j = 5;
            i = j;
        }
    }
    #endregion

    class Program
    {
        static void Main(string[] args)
        {
            #region 预处理
            /*#define	    它用于定义一系列成为符号的字符。
             *#if           它用于测试符号是否为真。
             *#else         它用于创建复合条件指令,与 #if 一起使用。
             *#elif	        它用于创建复合条件指令。
             *#endif	    指定一个条件指令的结束。
             *#line         它可以让您修改编译器的行数以及(可选地)输出错误和警告的文件名。
             *#error	    它允许从代码的指定位置生成一个错误。
             *#warning	它允许从代码的指定位置生成一级警告。
             *#region	    它可以让您在使用 Visual Studio Code Editor 的大纲特性时,指定一个可展开或折叠的代码块。*/
#if (PI)
            Console.WriteLine("PI is defined !");
#else
            Console.writeLine("PI is defined !");
#endif
            #endregion

            #region 可空类型
            //Nullable nullable = new Nullable();
            //nullable.single_question_mark();
            //nullable.double_question_mark();
            #endregion

            #region 数组
            array A = new array();
            A.Array();
            #endregion

            #region 结构体
            Books Book1 = new Books(); /* 声明 Book1,类型为 Book */
            Books Book2 = new Books(); /* 声明 Book2,类型为 Book */

            /* book 1 详述 */
            Book1.getValues("C Programming",
            "Nuha Ali", "C Programming Tutorial", 6495407);
            /* book 2 详述 */
            Book2.getValues("Telecom Billing",
            "Zara Ali", "Telecom Billing Tutorial", 6495700);

            /* 打印 Book1 信息 */
            Book1.display();
            /* 打印 Book2 信息 */
            Book2.display();
            #endregion

            #region 枚举
            Enum_function en = new Enum_function(10086);
            en.show_week();
            #endregion

            #region 静态成员
            /*类的静态变量可以直接访问,不需要创建类的实例*/
            Static_member.number++;
            Console.WriteLine("number:{0}", Static_member.number);
            /*成员函数声明为 static。这样的函数只能访问静态变量。静态函数在对象被创建之前就已经存在。*/
            Console.WriteLine("number:{0}", Static_member.Static_getNumber());


            Static_member stc1 = new Static_member();
            Static_member stc2 = new Static_member();
            stc1.add();
            stc2.add();
            Console.WriteLine("Stc1:{0} , Stc2:{0}", stc1.getNumber(), stc2.getNumber());
            #endregion

            #region 类的继承与基类的初始化
            Son s = new Son(5, 7);
            s.getSon_HW();
            s.getFather_HW();
            #endregion

            #region 多重继承
            Rectangles Rect = new Rectangles();
            int area;
            Rect.setWidth(5);
            Rect.setHeight(7);
            area = Rect.getArea();
            // 打印对象的面积
            Console.WriteLine("总面积: {0}", Rect.getArea());
            Console.WriteLine("油漆总成本: ${0}", Rect.getCost(area));
            #endregion

            #region C# 多态性 (函数重载 / 运算符重载 | 抽象类 / 虚方法)
            /*多态性意味着有多重形式。在面向对象编程范式中,多态性往往表现为"一个接口,多个功能"。*/
            /*多态性可以是静态的或动态的。在静态多态性中,函数的响应是在编译时发生的。在动态多态性中,函数的响应是在运行时发生的。*/

            /*静态多态性  包括 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值