【C#】C#入门学习笔记

本文是C#初学者的学习笔记,涵盖了环境搭建、快捷键、代码块、数据类型转换、异常处理、数组、面向对象编程、继承、多态等基础知识。特别强调了值类型与引用类型的区别、可变长参数params关键字、静态成员和扩展方法等难点。适合有C/C++基础的开发者参考。
摘要由CSDN通过智能技术生成

前言


        友友们好,本文为是 C# 入门的学习知识,包括笔者C#学习过程中的认识和心得。

        这篇笔记整理花费一周时间,可以收藏拿来当作实际开发的 “划重点” 。由于内容中并不包含传统C语言本身的基础特性和基本语法,因此本文更适合有 C/C++ 基础的同学食用。或是有 C# 经验的小伙伴进行自查。

        如果你对 C/C++ 感兴趣,或者在学习 C# 前需要想要了解大概的学习路线,可以参考我的另一篇博文:《C、C++、C# 我全都要!无痛学习经验分享》

初学难点提要


以下部分内容属于笔者初学时期略微难啃一点的内容,帮你挑出来了。建议同学们重点照顾:

        5、命令行输入输出Write相关内容

        6、数据格式转换:Parse法,把字符串转化为对应的类型(比较容易忘)

        9、二维数组(C#不同于 C/C++ 的表示方法)

        11、值类型和引用类型

                “Xiaochou x1” 不会调用构造,“Xiaochou x1 = new Xiaochou()” 才会

        14、可变长参数 params 关键字函数

        21、“只外部获取,不外部修改” 的成员变量——成员属性(成员变量的加强版)

                这个章节要注意名为 name 和 Name 成员变量的区别,文章正文会体现

                name:受保护的普通成员变量

                Name:对外可访问的成员属性“接口”

        23、索引器(属于高级语法)

                 public Person this [int index]

        27、扩展方法

    static class Add {
        public static int IntAddOne(this int thisval) {
            return thisval + 1;
        }
    }

               其中,对 Add 类有 static 要求,对 IntAddOne 有 public static 的要求。

               其中的 this int, int 是扩充的那个类,任意变量名取什么都行。

        29、分部类:partial,把一个类分成几部分声明 partial class Person

        36、密封类 / 抽象类

     


环境搭建

一、新建项目

        笔者使用的是VS2019,实测2015以上版本也可以兼容本篇内容。

        进入修改,安装.NET桌面应用 → .NET SDK,之后再打开VS2019

二、新建解决方案下的项目

        注意不是新建项=.=

        是新建项目!项目!每个解决方案下可以新建多个项目

         进入到如下示例程序,运行显示HelloWorld,则环境配置完毕。

笔记正文


1、学会两个最基本的快捷键——快捷注释

        ctrl K+C         注释

        ctrl K+U         去注释

        F12                跳转到 函数/类/命名空间 的声明

2、认识代码块、函数块和命名空间

        这个代码用来输出Hello World

        引用了一个工具包 System,其中 System 是通过:

namespace System{ ... }

        这种方式定义的一个巨大的工具包,内部是各种系统自带的函数的声明。

3、查看函数或类的定义(F12)

        当我们想查看一个函数或类的定义,可以选择它,按 F12 进行跳转。

4、region(代码块的折叠)

        使用 region 指令,可以将一段代码折叠成一个独立的区域,这个区域可以包含多个代码块,例如类定义、属性、方法等。在 Visual Studio 中,可以通过单击左侧的减号来折叠或展开区域,也可以使用快捷键 Ctrl+M+M 来切换区域的折叠状态。

5、输入输出

    Console.WriteLine("Hello World!");
    string sin = Console.ReadLine();       // 等效于 cin  <<
    Console.WriteLine("OK");               // 等效于 cout <<
    Console.ReadKey();        // 监听一个按键消息。如果有任何按键立刻释放阻塞
    Console.WriteLine("   Detected.");

6、数据类型转换

        数据类型转换的本质不仅仅是将相同长度的数据放在不同的容器中,而且是根据数据类型的范围和精度要求进行的。在C#中,数据类型分为值类型和引用类型。

        通常情况下,值类型的数据(例如 int、double、struct 等)可以直接进行类型转换。而引用类型的数据(例如class、interface、delegate)不建议用强制类型转换,因为转换的结果可能引发空指针。标准的转换方式是通过容器 as 成其他类型,这点在后续进阶过程中会学到。

        具体的转换方法:

        隐式转换:由编译器自动实现的默认转换。

        显示转换:

                1)强转,同C语言强转方法(在C#中较少使用)

                2)Parse法,把字符串转化为对应的类型

                语法: vartype.Parse("str") , eg: int.Parse("123");

            string inp = Console.ReadLine();      // 等于 cin
            Console.WriteLine(inp);
            Console.WriteLine("result is:" + (int.Parse(inp)&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谦谦青岫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值