【C#语言入门】01.初识类与名称空间

【C#语言入门】01.初识类与名称空间

一、剖析Hello,World程序

  • 类(class)是构成程序的主体
  • 名称空间(namespace)以树型结构组织类(和其他类型)

名称空间可以有效的对成百上千的类进行分类管理,方便查找修改,也可以防止出现同名类的冲突。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HelloWorld
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello,World!");
        }
    }
}

类:Progarm和Console就是类,Progarm是我们自己写的。**由于C#是完全面向对象的语言,因此程序本身(Program)和入口(Main)都是包含在类里面的。**Console类是微软提前准备好的,可以直接拿来用

名称空间:HelloWorld 是名称空间,这是我们自己写的名称空间,可以方便别人调用这个名称空间里面的类。**using System 是引用System这个名称空间到我们的程序中来。**若不引用就会无法使用他们内包含的类(例如Console)。程序会不知道Console这个类来自哪里,但是你可以写System.Console.WriteLine("xxxxxx")
只引用一条,有点累,所以还是在程序最前面引用System这个名称空间比较省时间。
如果你引用的几个名称空间内有同名的类,那就不得不使用全限定命名方式了。所以不要一股脑的引用太多的名称空间。

二、类库的引用

  • 类库引用是使用名称空间的物理基础*(名称空间如果是书架的话,那类库就是图书馆)*
    • 不同技术类型的项目会默认引用不同的类库
  • DLL引用(黑盒引用,无源代码)
    • NuGet简介
  • 项目引用(白盒引用,有源代码)

DLL引用:通过“引用——添加引用——浏览”直接在程序中添加你下载好的别人的DLL文件。黑盒引用有局限性,若内部代码有错,使用者无法直接修改,必须由别人修改完再编译再发过来才能解决你程序上的问题。**存在依赖性。**就算你是命令行程序,也可以通过引用system.windows.forms的dll文件,调用里面的类让他显示窗口。

NuGet:用于解决比较复杂的依赖关系,库之间也存在着依赖关系,使用高级的库必须要同时引用底层的库,同时底层的库出现问题,高层的库也无法使用,非常的麻烦,也很容易造成不易察觉的BUG(重名或者版本不同)。而NuGet安装包可以打包带走全部的类库,非常的方便(而且很多的线上包)。

项目引用:一个项目可以被包含在多个Solution中,单个Solution中可以有多个项目。这样出现问题可以找到源头解决,方便且可靠。

三、依赖关系

  • 类(或者对象)之间的耦合关系
  • 优秀的程序追求**“高内聚,低耦合**(数据和功能放在他该放的地方,类或者类库之间的关系尽量低耦合)
    • 教学程序往往会违反这个原则(教学往往侧重内容,少了原则)
  • UML(通用建模语言)类图:展示类与类之间的关系。

四、排除错误

  • 仔细阅读编译器的报错
  • MSDN文档与搜索引擎结合
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值