C# 学习(一)概述

今天开始学习 C#,所有学习资料来源于: 菜鸟教程

一、C# 简介

C# 是 .NET 框架的一部分,随之创造出来的语言,所以了解 C# 前,需要知道 .NET 是个什么东西。

1.1 .NET 框架介绍

.NET 是微软提出的 Web 的一种软件开发模型:

.NET 是一个开源平台,用于构建能够在任何操作系统上本地运行的桌面、Web 和移动应用程序。.NET 系统包括支持现代、可扩展和高性能软件开发的工具、库和语言。.NET 平台有一个活跃的开发人员社区来维护和支持。

概括的说, .NET 提供了一套代码组件,通过使用这套组件,我们可以使用 C#、C++、VB、JS等客户端语言来编写:

  • 桌面应用程序
  • Web 网页
  • Web 服务
  • 移动端 App

可以看出 .NET 框架是跨平台的。其次 .NET 的核心代码基本是由 C# 编写的。因此使用 C# 来写 .NET 应用更加舒适。

.NET 的具体介绍可以看:.NET 免费开源开发平台

1.2 C# 介绍

C# 是由微软开发,一个由 C 和 C++ 衍生出来的一种安全、稳定、简单的面向对象语言,它摒弃了这两种语言复杂的缺点,更加易用。

C# 语法与 java 语法非常相似,因此 Java 开发者可以很顺滑的过渡使用 C#。

C# 作为一个现代语言,和其它现代语言相比(GO、Kotlin等),我认为它只有唯一一个特点:

  • 是 .NET 框架的一部,是其平台的主流,有较为强大框架做支持

除此之外,其它官网或学习资料所列出来的 “特点” ,并不能称的上是特点:

  • 现代的、通用的编程语言
    它汲取 C、C++ 的精华并去其糟粕
  • 面向对象编程(OOP)
  • 面向组件编程(COP)
    这个词有点唬人,它本质上是在高复杂度软件下诞生出来的一种解决代码间高耦合低内聚问题的方法。
    例如 Android 就提供了四大组件 ActivityServiceContentProviderBroadcastReceiver 来分隔 Android 中重要的能力,使得开发者不会混用它们,每个组件有自己独有的能力、特有的编程规范
  • 更容易学习上手
  • 开发效率高
    C# 有 .NET 语法糖及大量代码库加持,开发效率高
  • 跨平台

C# 在市占率比较尴尬, 打不过 C、C++、 Java、Python 等语言,其主要运营的场景:

  • Windows 应用开发、网页开发
  • 游戏(Unity 引擎)

1.3 C# 的编程功能

  • 布尔条件(Boolean Conditions)
  • 自动垃圾回收(Automatic Garbage Collection)
  • 标准库(Standard Library)
  • 组件版本(Assembly Versioning)
  • 属性(Properties)和事件(Events)
  • 委托(Delegates)和事件管理(Events Management)
  • 易于使用的泛型(Generics)
  • 索引器(Indexers)
  • 条件编译(Conditional Compilation)
  • 简单的多线程(Multithreading)
  • LINQ 和 Lambda 表达式
  • 集成 Windows
  • 协程(在Unity引擎上)

2. 开发环境

现在基本是用微软提供的 IDE : Visual Studio(VS) 进行开发,直接上官网下载免费的社区版即可。

学习时,使用 VS 创建一个项目,选择
在这里插入图片描述

但是作为一名 Android 开发,我已经习惯了 JB IDE 的布局和快捷键,幸运的是, JB 也提供了 C# 的编辑器 – JetBrains Rider,下载地址:官网下载地址,因此我毅然的选择 Rider。

使用 Rider 创建项目时选择 Console Application:
在这里插入图片描述
之后便可运行第一个 Hello World 了。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习安排:4周4个项目实战 学习形式:录播视频+在线作业考核+助教一对一辅导答疑 1. C#基本语法:基本编程(If:…else)语句、数组等。2. C#面向对象编程:封装、继承、多态性、面向接口编程、动态多态性、字符串基础等。3. .Net 框架原理讲解:多维数组、可变参数 Params、类的实例化内存分配机制等。4. 深入学习对象类型:里氏替换原则(LSP)、类的属性极其本质特性、IS ,AS 关键字、深入学习字符串理论、枚举类型以及适用场合。5. 深入学习集合特性:索引器、自定义集合、深入刨析集合类型本质(ArrayList、HashTable)、学习泛型集合、泛型约束等。6. 学习委托与事件:委托与事件的区别、匿名方法、Lambda表达式。7. 正则表达式。8. 查询表达式Linq。9. 反射、特性、动态编程。10. 多线程编程。11. Socket通讯技术。 第二模块:Unity 入门与基础 学习安排:4周3个项目实战 学习形式:录播视频+在线作业考核+助教一对一辅导答疑 课程内容:游戏与Unity发展历史概述、 3D 模型基础、 地形编辑器、光源、音频、Unity脚本程序基础、GUI、3D模型动画的导入 与基本应用、物理学模拟(初级)、碰撞盒与触发器、协程、SendMessage数据传值技术等。 学习安排:4周4个项目实战 学习形式:录播视频+在线作业考核+助教一对一辅导答疑 课程内容:讲解粒子系统、Mecanim、导航寻路、Unity游戏移植技术、Mecanim 动画系统、导航寻路、项目研发常用优化策略、Unity游戏移植与手指触控识别、射线、数据持久化、对象缓冲池技术、物理学模拟(铰链关节(Hinge Joint)、弹簧关节 、固定关节、角色关节)与资源动态加载技术(AssetBundle与WWW)等。 第四模块:Unity项目实训: ARPG项目"地下守护神" 学习安排:4周1个项目实战 学习形式:录播视频+在线作业考核+助教一对一辅导答疑 课程内容:1:前端分层的MVC架构搭建,开发自定义的资源动态加载插件、音频插件、对话系统插件、事件监听插件等。2: UI粒子特效、场景淡入淡出控制。3: 单机与移动端的双输入控制系统开发。4: 数值平衡处理与开发。5: 多种设计模式在游戏研发过程中的灵活运用。6: XML技术的灵活运用,在系统解耦与资源国际化方面的技术突破。7: 开发强大灵活的日志系统插件,应对服务器与移动端的各种复杂系统调试需求。8:开发“对话系统”,与“新手导航”。9:开发基于XML的对象持久化技术。10:开发“背包系统”、“商城系统”、“公告系统”、“任务系统”。11:开发“副本”多种类怪物的战斗系统。12:开发各种战斗特效系统: “血条”、“漂字”、“连击”等功能。 第五模块:虚拟现实(VR)与增强现实技术(AR) 学习安排:1周2个项目实战 学习形式:录播视频+在线作业考核+助教一对一辅导答疑 课程内容:R虚拟现实技术开发:先从什么是虚拟现实(VR)、虚拟现实的主要特点、虚拟现实技术的基础底层原理、国际与国内的产业布局、国际权威机构未来发展趋势预测等讲起。然后主要介绍国际主要领军品牌:Oculus、HTC、SonyVR等产品规格、主要性能指标等。最后重点以一款国内著名VR产品:3Glasses 为代表,介绍VR产品的具体使用、维护、与开发项目全过程流程等。AR 增强实现开发:讲解什么是增强现实、注册高通AR账号、制作识别图、SDK下载与制作、打包发布
MapObject(简称MO)是一种用于开发GIS应用程序的可视化编程组件,可以在VB、VC、Delphi、C#等开发环境中使用。其主要功能包括地图显示、地图浏览、地图查询、符号绘制、地图分析等。 MO的核心是Map对象,它代表了一张地图。Map对象包含了地图数据、地图的显示方式、地图的空间参考等信息。在MO中,地图数据通常以Shapefile格式存储,可以包括点、线、面等空间要素。 MO的编程模型是基于事件的,即程序通过响应组件的事件来完成操作。例如,当用户在地图上点击时,会触发Map控件的MouseDown事件,程序可以在该事件中编写代码来响应用户的操作。 MO的程序设计入门可以从以下几个方面来学习: 1. 创建地图控件:在VB、VC等开发环境中,可以通过向窗体添加Map控件来创建地图控件。在Delphi中,需要在窗体上添加一个TMapControl控件,再通过代码创建Map对象并将其与TMapControl关联起来。 2. 加载地图数据:可以使用Map对象的AddLayer方法,将Shapefile文件加载到地图中。加载后,可以设置要素的显示方式、标注等属性。 3. 地图操作:可以通过Map控件提供的方法,实现地图的缩放、平移、旋转等操作。例如,可以通过调用Map控件的ZoomIn方法实现地图放大,通过调用Map控件的Pan方法实现地图平移。 4. 地图查询:可以使用Map对象的SelectByShape方法,根据指定的查询条件进行地图查询。查询结果可以在地图上高亮显示。 5. 符号绘制:可以使用Map对象中的Symbol对象,绘制点、线、面等符号。例如,可以使用Symbol对象的DrawPoint方法,绘制一个点符号。 以上是MO的一些基础概念和编程入门,希望可以帮助你进行MO的学习和应用开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值