程序老鸟C#学习:5天学会全部基础--第三天

简介: 众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

有什么需要欢迎私我,交流群让学习不再孤单


👉实践过程

😜命名空间

Namespace这玩意就是用来方便管理的,而且在计算机中相同的设计思想到处可见,比如同一个文件夹下不同有同名的文件,你放在不同文件夹下可以有同名文件。

其他编程语言比如Java有包路径,不同路径名字可以有同名的类。这种思想方便管理文件代码。

namespace first_space
{
   class namespace_cl
   {   }
//比如这样,程序是会报错的
   class namespace_cl
   {   }
}
//但是你是下面的状态就不会报错
namespace first_space
{
   class namespace_cl
   {   }
}
namespace second_space
{
   class namespace_cl
   { }
}
复制代码

到这有的人就开始有疑问了:如果是不同的文件或者想访问其他的空间怎么办呢?

细心的已经发现了,就和Java的导包一样,C#使用using导入空间,在每个编程文件的最上面几行都是这样的引入,想要哪些空间的功能导入哪个。

这时候又有人有疑问了,能不能修仙小说那样天外有天,天上还有天。能不能命名空间套命名空间,套套套,此处禁止套娃。

答案是可以的,引入的时候:using namespaceone.namespacetwo 用英文符号.即可,跟Java包路径同理。

😜预处理器

从字面理解就是提前对信息进行处理。她确实也是这样的,她会根据你指定的条件,只编译满足条件的代码,不满足条件的代码不编译。既区分了软件版本,代码还在一块,管理方便。预处理指令是#开始的,且只能作为开头,一般指令单独占一行。都有哪些指令在这就不单独写了。在Unity中指令挺有用的,因为PC是键盘,Android事件是手势,用预处理提前写好不同端的不同实现代码(当然她们功能可能是一致的),打包发布的时候利人利己。

😜反射

通俗的讲就是可以访问一个类的所有属性和方法,且能够调用。有人提问了:随便写的public类不都是能任意访问调用的吗,这有什么区别?

区别在于一个是正常写代码,你知道代码逻辑和内容,且都在你的掌控之内,当然能访问;而反射不同她能够访问你不清楚的类,比如三方框架你遇到这个框架里某个类某个方法没有对外开放,而你又需要使用,就可以用反射把她抛出来。

优点:

  1. 反射提高了程序的灵活性和扩展性。
  2. 降低耦合性,提高自适应能力。
  3. 它允许程序创建和控制任何类的对象,无需提前硬编码目标类。

缺点:

  1. 性能问题:使用反射基本上是一种解释操作,用于字段和方法接入时要远慢于直接代码。因此反射机制主要应用在对灵活性和拓展性要求很高的系统框架上,普通程序不建议使用。
  2. 使用反射会模糊程序内部逻辑;程序员希望在源代码中看到程序的逻辑,反射却绕过了源代码的技术,因而会带来维护的问题,反射代码比相应的直接代码更复杂。


👉其他

📢作者:小空和小芝中的小空

📢转载说明-务必注明来源:

https://zhima.blog.csdn.net/

https://www.zhihu.com/people/zhimalier

https://juejin.cn/user/4265760844943479

📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

相关文章
|
4月前
|
JSON 数据可视化 数据挖掘
Ruby 数据处理与分析竟如此强大!不看后悔一辈子,快来开启数据探索之旅!
【8月更文挑战第31天】在数据驱动时代,高效处理与分析数据至关重要。作为灵活强大的编程语言,Ruby 提供了丰富的工具和方法,涵盖数据读取、清洗、分析及可视化等多个环节。借助 CSV 和 JSON 库,可轻松处理常见文件格式;利用正则表达式清洗数据;通过 NMatrix 和 Statsample 库完成复杂的数据分析任务;使用 Gruff 库将分析结果可视化。同时,合理优化代码性能,如采用高效的数据结构和算法,能进一步提升数据处理效率。遵循这些最佳实践,Ruby 将成为你数据处理与分析的强大助手。
61 0
|
前端开发
开心档 - 软件开发入门之
提示框可以使用 .alert 类, 后面加上 .alert-success, .alert-info, .alert-warning, .alert-danger, .alert-primary, .alert-secondary, .alert-light 或 .alert-dark 类来实现:
|
存储 程序员 C++
开心档-软件开发入门之C++ 数组
本文主要讲解C++ 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。
开心档-软件开发入门之C++ 数组
|
JavaScript 前端开发
开心档-软件开发入门之 开心档-软件开发入门之
本文主要讲解Vue.js v-bind 在处理 class 和 style 时, 专门增强了它。表达式的结果类型除了字符串之外,还可以是对象或数组。
|
存储 编译器 C++
类的入门<C++入门>(跑路人笔记)(3)
类的入门<C++入门>(跑路人笔记)
类的入门<C++入门>(跑路人笔记)(3)
|
存储 编译器 C语言
类的入门<C++入门>(跑路人笔记)(1)
类的入门<C++入门>(跑路人笔记)
类的入门<C++入门>(跑路人笔记)(1)
|
编译器 C++
类的入门<C++入门>(跑路人笔记)(2)
类的入门<C++入门>(跑路人笔记)
类的入门<C++入门>(跑路人笔记)(2)
|
人工智能 自然语言处理 前端开发
程序老鸟C#学习:5天学会全部基础--第一天
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!
236 0
|
关系型数据库 MySQL 测试技术
干了3年程序员,熬夜一周整理的高性能MySQL笔记,小白也能看懂!
MySQL高性能第三版更新了大量的内容,不但涵盖了最新版MySQL的新特性以外,还讲述了关于固态盘、高可拓展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充,全书分为16个知识点点
131 0
|
Java
磊哥工作十几年了,竟没有用过do-while!(文末送书)
磊哥工作十几年了,竟没有用过do-while!(文末送书)
179 0
磊哥工作十几年了,竟没有用过do-while!(文末送书)