| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 熬夜爆肝万字C#基础入门大总结【建议收藏】 -> 正文阅读 |
|
[移动开发]熬夜爆肝万字C#基础入门大总结【建议收藏】 |
点击跳转=>熬夜再战Android从青铜到王者-UI组件快速搭建App界面 👉关于作者
👉前提自己出身Android开发,因为业务了解也清楚,所以项目开发很快,就决定业余时间学习下其他技术。公司有前端/后端/C++/移动端/动画/模型/硬件/人工智能等多个部门,根据公司发展和自己兴趣,再加上人们对带有立体感的软件渐渐喜爱,决定扩展下此方向,定下了学习c#。开整。 注:因为不是新手,有不少编程经验。所以学习起来很快挑重点学习,记录也是挑重点。适合做成手册,没事翻翻。新手警告:阅读可能有一定困难。 👉实践过程😜C#介绍源于c语言,简单易学,入门超快,减少了烦人的指针,有统一的操作符/修饰符/运算符,使用起来简洁称心。不仅如此:
她不仅是按照面向对象设计的语言,而且还类型安全,还有更多让人舒心的功能:
虽然c#和Java她们在内部功能实现及性能上不同,代码依赖也不同(Java依赖JVM,c#依赖.NET),但是她们仍然有很多相似之处,这对于Android出身的我来说更得心应手。 😜.NET简介.NET框架是一个集成、一个环境、一个非常强大的平台,是微软推出的核心技术。开发式的体系结构,覆盖的内容非常广: 😜VS快捷键先来普及回顾下VS中的常用快捷键 Ctrl+K+D:快速对齐代码 Ctrl+Z:撤销 Ctrl+S:保存(一定要经常保存!) Ctrl+J:快速弹出智能提示 Shift+End 、Shift+Home Ctrl+K+C:注释所选代码 Ctrl+K+U:取消对所选代码的注释 F1:转到帮助文档 折叠冗余代码:#Region 和#EndRegion(Android Studio也可以自定义折叠代码 //region //endregion 快捷键 Ctrl+Alt+T) 单行注释: // 多行注释:/要注释的内容/ 文档注释: /// 多用来解释类或者方法 😜数据类型编程基础就不强调了,主要看看拼写和其他语言有什么不同就行了 字符串类型:string或者String,注意s大小写,平时都能用,但也有也小区别。 字符串有个@符号可以将转移字符当成普通字符,且@符会保留字符串里面的换行符空格符等 例:string str=”D:\alibaba”; 等价于string str=@”D:\alibaba”; 动态类型:dynami,他会根据内容自动存储对应类型 例:dynamic str=”这是字符”; dynamic number=10; 就像前端的var类型 对象类型:ogject,所有类型的最低基类,能分配任何类型的值,麻烦就是用的时候可能经常得进行类型转换。 😜转义字符😜运算符仍然是直接上表格图,编程基础。 😜判断/循环逻辑判断仍然是编程老鸟的基基础,只是简单概括一下 判断语句:if else switch 循环语句:while for foreach do…while break continue 😜访问修饰符C#可以设置使用者的访问权限,这样开发者可以指定该模块或逻辑是公开,封闭,还是指定访问者。不知道其他语言什么样,跟Java是一样样的。
😜可变类型/合并运算符可空类型(Nullable):表示其基础类型除了默认的值外,再添加一个null值。例如:int? num = 1; double? num= new double?(); Null合并运算符(??):如果第一个操作数为null,则返回第二个操作数,否则返回第一个,就像Java的?:运算。 例如 A=B??C 如果B为空则将C赋值给A,如果B 不为空则将B赋值给A。 😜数组数组类型是若干个数据类型相同的数据元素组成的数据结构。C#也是分为一维数组和多维数组,多维数组又包括矩形数组和交错数据。 还有一个参数数组,可以传递未知数量参数给函数。 这个就像Java中的(int… num)。 例ParamArray app = new ParamArray(); int sum = app.AddElements(512, 720, 250, 567, 889); 数组类型基本是System.Array类的派生类,快捷键Ctrl+左键进入源码,快速学习都有什么功能实现。 😜结构体她能用单一变量存储多个数据类型,举例:一个书变量,可以存作者,标题,出版社,价钱等基础变量。超好理解,和Java的实体一样,就是需要struct关键字来修饰创建结构体。特点:
结构体的字段可以加前缀”_”来和变量区分 😜枚举就是命名一组整型常量,不能继承或传递继承,只能当常量使用。举例:enum Number{one,two,three}; 则Number.one等于0 Number.two等于1,以此类推
😜类/函数类仍然是class修饰,在class前面可以指定对类及成员的访问规则,若没写则类默认是internal,成员访问是private。 😜继承/多重继承继承是面向对象设计的最重要概念之一,一个类继承自另一个类,举例: 😜多态面向对象程序的核心功能之一,是同一个行为具有多个不同表现的能力。C#和Java都是面向对象的,她们的多态思想基本是一致的。优点多多:
C#包含静态多态和动态多态,静态多态又包含:函数重载和运算符重载。
😜接口接口使用interface关键字声明,和类class的声明差不多,默认是public类型的。有个当有多个类,多个类有多个相同的方法,使用接口来实现方便管理,且不会丢失。和Java使用基本是一致的。示例:
😜命名空间Namespace这玩意就是用来方便管理的,而且在计算机中相同的设计思想到处可见,比如同一个文件夹下不同有同名的文件,你放在不同文件夹下可以有同名文件。
到这有的人就开始有疑问了:如果是不同的文件或者想访问其他的空间怎么办呢? 😜预处理器从字面理解就是提前对信息进行处理。她确实也是这样的,她会根据你指定的条件,只编译满足条件的代码,不满足条件的代码不编译。既区分了软件版本,代码还在一块,管理方便。预处理指令是#开始的,且只能作为开头,一般指令单独占一行。都有哪些指令在这就不单独写了。在Unity中指令挺有用的,因为PC是键盘,Android事件是手势,用预处理提前写好不同端的不同实现代码(当然她们功能可能是一致的),打包发布的时候利人利己。 😜异常哎呀,这个老四件套了:try、catch、finally 和 throw
😜反射通俗的讲就是可以访问一个类的所有属性和方法,且能够调用。有人提问了:随便写的public类不都是能任意访问调用的吗,这有什么区别? 优点:
缺点:
😜属性总结一句话,和Java里实体的get/set方法一样的性质。 😜委托使用关键字delegate来修饰,必须用new关键字来创建,且与某个特定方法关联。 委托示例:
👉其他
|
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 23:09:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |