C#学习 - 初识类与名称空间

这篇具有很好参考价值的文章主要介绍了C#学习 - 初识类与名称空间。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

类(class)& 名称空间(namespace)

是最基础的 C# 类型,是一个数据结构,是构成程序的主体
名称空间以树型结构组织

using System;
//前面的using就是引用名称空间
//相当于C语言的 #include <...>
namespace ConsoleApp//名称空间
{
    internal class Program//类
    {
        static void Main(string[] args)
        {
             Console/*类*/.WriteLine("Hello,world!");
             //当最前面没有引用名称空间时,需要在此段代码前加上名称空间:>System.Console.WriteLine("Hello,world!");
             //System/*类库*/.Console/*名称空间*/.WriteLine/*类*/
        }
    }
}

上段代码中:Program和Console就是类;ConsoleApp就是名称空间
建立了一个叫Program的类放在了一个叫ConsoleApp的名称空间中

using System.Windows;
using System.Windows.Shapes;
using System.IO;

namespace WpfApp1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            Path
            //因为 System.IO 和 System.Windows.Shapes 中都有Path,
            //所以此时使用Path要使用名称空间,如:System.IO.Path 或 System.Windows.Shapes.Path
        }
    }
}

类库的引用

类库引用是使用名称空间的物理基础
引用方式:DLL引用、项目引用

DLL引用

又称黑盒引用,无源代码
在解决方案资源管理器 - 项目 - 引用 - 添加引用
一般进行DLL引用时会有参考文档
DLL引用因为没有源代码,如果类库中有错误,无法自己进行修改

namespace M
{
	class Program
	{
		static void Main(string[] args)
		{
			A/*类库*/.B/*名称空间*/.C/*类*/;
		}
	}
}

此处进行DLL引用的程序会对所引用的DLL类库有依赖性;同时程序内的Program和C有依赖关系,C发生错误时,Program也会错误

NuGet

程序目标:打开一个WPF窗口

//先引用 PresentationFramework 类库
namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            System.Windows.Window window = new System.Windows.Window();
            window.ShowDialog();
            //ShowDialog是类的使用方法
        }
    }
}

此时程序会报错,因为此类库还有一些更底层的依赖类库,需要先引用底层类库才能使用,就相当于使用某些模组时需要先加载前置模组
当一个类库的底层类库过多时,引用起来就很麻烦,这时候可以用到NuGet
在解决方案资源管理器 - 项目 - 引用 - 管理NuGet程序包中安装引用所需要的包后,引用中会自动添加NuGet包中的类库,这些添加的类库是由NuGet管理

项目引用

又称白盒引用,有源代码,当程序出现错误时可以直接修改
需要先将项目添加进正在使用的解决方案资源管理器
然后在解决方案资源管理器 - 项目 - 引用 - 添加引用 - 项目 - 解决方案中引用
若一个项目在不同解决方案资源管理器中都有使用时,称为项目重用

创建类库项目

解决方案资源管理器 - 添加新建项目(非新建项) - 选择类库
类库的框架需要与此前项目框架相同
例子:
C#学习 - 初识类与名称空间,C#学习,c#,学习,开发语言

//Tools.cs
namespace Arithmetic
{
    public class Tools
    {
        public static double Add(double a, double b)
        {
            return a + b;
        }
        public static double Sub(double a, double b)
        {
            return a - b;
        }
        public static double Mul(double a,double b)
        {
            return a * b;
        }
        public static double Div(double a, double b)
        {
            if(b==0)
            {
                return double.PositiveInfinity;
            }
            else
            {
                return a / b;
            }
        }
    }
}
//Program.cs
using System;
using Arithmetic;

namespace Calculator
{
    internal class Program
    {
        static void Main(string[] args)
        {
            double c = Tools.Div(10, 9);
            Console.WriteLine(c);
        }
    }
}

依赖关系

类(或对象)之间的耦合关系
底层类或者类库出现问题,上层的类或类库也会出现关系
写程序时,类应该分类放在对应的类库中;类或类库之间应该尽可能降低依赖。“高内聚,低耦合”

UML(通用建模语言)类图

可以用来展现类与类之间的关系

错误排除

阅读编译器报错
结合MSDN文档与搜索引擎
注:MSDN文档在VS的帮助 - 查看帮助中,需要先在VS Installer - 单个组件中下载Help Viewer文章来源地址https://www.toymoban.com/news/detail-701750.html

到了这里,关于C#学习 - 初识类与名称空间的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C/C++|物联网开发入门+项目实战|指针|嵌入式C语言高级|C语言内存空间的使用-学习笔记(9)

    参考: 麦子学院-嵌入式C语言高级-内存空间 内存类型资源地址、门牌号的代名词 指针:地址的代名词 指针变量:存放指针这个概念的盒子 *P char *p *p; C语言娟译器对指针这个特殊的概念,有2个疑问? 1、分配一个盒子,盒子要多大? 在32bit系统中,指针就4个字节 2、盘子里存放

    2023年04月22日
    浏览(42)
  • 1.Unity中c#代码学习(读取物体名称+位置+移动)

    Ctrl + K + C 批量注释 Ctrl + K + U 批量取消注释 Debug.Log(\\\"**\\\");输出“**”中内容 GameObject obj = this.gameObject; this表示当前指代的物品 GameObject表示游戏中物体 Debug.Log(\\\"** 物体名字:\\\" + this.gameObject.name); this.gameObject.name直接调用类名 string name = obj.name; string 是c#中的字符串类型 Debug.Log(\\\"**

    2023年04月11日
    浏览(39)
  • C#学习 - 初识类型、变量、方法

    、操作符、标识符、文本都是标记(Token),编译器能够识别 C#有一般(C# Keyword:任何时候都是)和上下文(Contextual Keywords:在某些语境中时是) 也成为运算符,某些也是操作符 标识符就是名字,比如给变量取的名字 取名规范 :不

    2024年02月09日
    浏览(29)
  • C++:初识类与this指针

    个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C++》 注意类定义结束时后面分号( ; )不能省略。 类体中的内容称为类的成员: 类中的变量称为类的属性or成员变量; 类中的函数称为类的方法or成员函数; 类的两种定义方式 声明和定义全部放在类体中,需注意:

    2024年02月10日
    浏览(29)
  • C/C++|物联网开发入门+项目实战|函数输入与输出|值传递|地址传递|连续空间的传递|嵌入式C语言高级|C语言函数的使用-学习笔记(11)

    参考: 麦子学院-嵌入式C语言高级-C语言函数的使用 一堆代码的集合,用一个标签去描述它 复用化,降低冗余度 标签 ------ 函数名 函数和数组都属于内存空间,函数具备3要素: int *p; int a[100]; 1、函数名(地址) 2、输入参数 3、返回值 在定义函数时,必须将3要素告知编译器

    2023年04月20日
    浏览(41)
  • VB.net:VB.net编程语言学习之ADO.net基本名称空间与类的简介、案例应用(实现与SQL数据库编程案例)之详细攻略

    VB.net:VB.net编程语言学习之ADO.net基本名称空间与类的简介、案例应用(实现与SQL数据库编程案例)之详细攻略 目录 ADO.net基本名称空间与类 1、ADO.net六个基础名称空间 2、ADO.net类

    2024年02月06日
    浏览(32)
  • 【C++从练气到飞升】02---初识类与对象

     🎈 个人主页 :库库的里昂 ✨ 收录专栏 :C++从练气到飞升 🎉 鸟欲高飞先振翅,人求上进先读书 。 目录 ⛳️推荐 一、面向过程和面向对象初步认识 二、类的引用 1. C语言版 2. C++版 三、类的定义 类的两种定义方式: 四、类的访问限定符及封装 1. 类的访问限定符 2. 封装

    2024年03月14日
    浏览(34)
  • C语言学习分享(第一次)------初识C语言

    💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C语言学习分享⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多C语言知识   🔝🔝 前有鲁迅弃医从文,今有我卷王…让我们正经一点,回归主题 首先,C语言在计算机邻域起着承上启下的作用,很多其他的计算机语言

    2023年04月22日
    浏览(54)
  • HarmonyOS(二)—— 初识ArkTS开发语言(上)之TypeScript入门

    Mozilla创造了JS,Microsoft创建了TS,而Huawei进一步推出了ArkTS。因此在学习使用ArkTS前,需要掌握基本的TS开发技能。 ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript(简称TS)的基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让开发者以更简洁、更自然的

    2024年02月06日
    浏览(43)
  • 【C++奇遇记】初探名称空间

    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长,值得我们全力奔赴更美好的生活✨ 😁在C++中,名称可以是变量、函数、结构、枚

    2024年02月14日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包