21天速通 C#
文章平均质量分 91
欢迎来到“21天速通C#基础教程”专栏,这里是零基础或希望巩固基础知识的初学者们的理想起点。我们将在接下来的21天里,通过日积月累的方式探索C#的核心概念,涵盖从基本语法到面向对象编程,从异常处理到LINQ查询,再到开发中常见的设计模式。每天都是一个精简且内容丰富的学习节奏,旨在为您提供扎实的基础
2401_82410658
这个作者很懒,什么都没留下…
展开
-
VisionPro 脚本教程专栏:深入理解与实践
在VisionPro的 QuickBuild 开发环境中,Job 是工程的基本组成单位。每个 Job 中可以包含多个工具和工具块(ToolBlock),而脚本功能允许用户在这些组件的基础上实现更高级的逻辑控制。VisionPro脚本是实现定制化视觉处理逻辑的关键,通过本专栏的深入学习,你应该能够掌握脚本的编写、使用和调试。在后续的文章中,我将分享更多关于VisionPro高级功能的脚本实现技巧。希望本专栏能够帮助你在机器视觉领域更进一步。如果你有任何问题或建议,欢迎在评论区留言。原创 2024-04-21 20:14:38 · 1262 阅读 · 0 评论 -
Vision Pro 零基础教程:1.机器视觉概述
机器视觉是一种模拟人类视觉系统,使用机器代替人眼来进行精确测量和智能判断的技术。它通过数字相机、图像处理算法和计算机系统来模拟人眼的视觉感知功能,实现对物体的识别、定位、测量和检测等任务。机器视觉系统的特点是提高生产的柔性和自动化程度,在不适合人工作业的危险工作环境或人工视觉难以满足要求的场合,机器视觉展现出其独特的优势。它不仅能够提高生产效率,还能提高制造过程的精确性,从而减少成本。机器视觉是一个跨学科的领域,它结合了计算机科学、图像处理、模式识别等多个学科的知识。原创 2024-04-17 21:19:26 · 1209 阅读 · 0 评论 -
WinForms 零基础进阶教程:文件操作与 CSV 处理
本期是WinForms中文件操作和CSV处理的基础内容。掌握这些文件操作的使用方法对于WinForms开发者来说是非常重要的。另外本专栏将会持续更新,作者专栏中有已经更新完毕的C#基础教程!!!原创 2024-04-15 11:31:41 · 1016 阅读 · 0 评论 -
WinForms零基础进阶控件教程(超实用&&详细版)
本篇为WinForms零基础进阶教程。希望能帮助大家更好地掌握这些控件的使用。在实际开发中,这些控件非常强大,可以构建出功能丰富的桌面应用程序。原创 2024-04-13 16:04:40 · 1221 阅读 · 0 评论 -
Winforms_基础控件(超实用&&详细版)
这些基础控件是构建WinForms应用程序的基石,通过它们的组合使用,开发者可以创建出功能完备、交互性强的桌面应用程序。掌握这些控件的使用方法对于WinForms开发者来说是非常重要的。另外本专栏将会持续更新,作者专栏中有已经更新完毕的C#基础教程!!!原创 2024-04-12 11:11:50 · 1099 阅读 · 0 评论 -
Task与async/await(进阶篇&小白易懂版)
C#中同步和异步是两种不同的编程模式,用于控制代码的执行方式。同步模式是指代码按照从上到下的顺序依次执行,在执行一个任务时会一直阻塞在那里等待其完成。而异步模式则是指在调用一个任务后立即返回,不会等待这个任务完成,而是通过回调机制在任务完成时通知调用者,可以同时执行多个任务,提高程序的效率。使用场景:当你有一些可能会阻塞线程(如IO操作、网络请求、复杂计算等)的操作时,可以将它们封装为任务,并使用Task类来异步执行它们。这样可以避免阻塞UI线程或其他重要线程,提高应用程序的响应性和性能。原创 2024-04-11 16:23:30 · 1260 阅读 · 0 评论 -
多线程(进阶篇&小白易懂版)
当你有一些可能会阻塞线程(如IO操作、网络请求、复杂计算等)的操作时,可以将它们封装为线程,并使用。:你有一些可能会阻塞线程(如IO操作、网络请求、复杂计算等)的操作时,可以将它们封装为线程,并使用。在这个示例中,有一个方法被封装为线程并执行,然后在需要的时候将计算结果传递回主线程。的文本,但由于它们是在不同的线程中运行的,所以我们无法预测它们的执行顺序和完成时间。工作的过程,我们可以将线程看作是程序的执行路径,每个线程都定义了一个独特的。原创 2024-04-10 21:50:10 · 983 阅读 · 0 评论 -
面向C#初学者的JSON入门与实践
JSON是一种完全独立于语言的格式,但使用的是类似于JavaScript编程语言的约定。一个JSON文档由一系列的键值对构成,其中的数据结构主要有两种:对象(由花括号{}包围)和数组(由方括号[]包围)。有时候,我们需要自定义序列化的行为,比如日期格式、忽略空值等。我们可以通过创建实例来设置这些选项。WriteIndented = true, // 格式化输出IgnoreNullValues = true, // 忽略空值。原创 2024-03-30 16:51:50 · 1047 阅读 · 0 评论 -
C#预处理器指令(巨细版)
C#预处理器指令是.NET开发中一个不可或缺的工具。通过本文的介绍,我们不仅复习了预处理器指令的基本用法,还探讨了一些高级应用和最佳实践。作为一名资深的C#开发工程师,合理利用预处理器指令可以极大地提升代码的质量和可维护性,同时也是提升开发效率的重要手段。希望本文能够帮助你在实际工作中更好地运用这些指令,编写出更加优雅、高效的C#代码。主页有21天速通C#教程欢迎订阅!!!原创 2024-03-29 20:14:18 · 1227 阅读 · 0 评论 -
C# 高级文件操作与异步编程探索(初步)
本文将详细探讨C#中高效文件操作的模式、方法,及其在现代编程中的应用,并深入理解异步编程的功用和优势。同步操作往往是阻塞性的,意味着直至当前操作完成,后续代码才能执行。相反,异步操作允许程序在等待操作完成的同时,继续处理其他任务。异步编程的优势体现在它能够增强应用程序的响应性,优化资源的使用,并简化复杂的并发代码的编写。当我们处理更加复杂的数据类型,如图像、音频或任何其他非文本格式,二进制读写就派上用场了。两个非常有力的类,让文本的读写变得既简单又高效。标记的方法表示该方法是异步的,原创 2024-03-28 22:50:23 · 1013 阅读 · 0 评论 -
C#中的特性和反射:使代码灵活而强大的利器
NET框架为我们提供了一些预定义的特性,如和Obsolete等。这些特性有着特定的用途和行为。:定义了自定义特性的使用规则,比如它可以应用到哪些类型的声明上,是否可以多次应用等。:用于条件编译,只有在定义了特定的预处理指令时,标记为的方法才会被执行。Obsolete:标记不再推荐使用的程序元素,可以提供替代方案,并指定是生成警告还是错误。特性和反射,是C#语言中两个极其有用的功能。特性提供了一种注解代码的方法,允许我们在编译时和运行时访问这些注解。原创 2024-03-27 20:53:03 · 953 阅读 · 0 评论 -
C#_事件_多线程(基础)
多线程就是多个线程同时工作的过程,我们可以将线程看作是程序的执行路径,每个线程都定义了一个独特的控制流,用来完成特定的任务。在多线程中执行的第一个线程称为主线程,当 C# 程序开始执行时,将自动创建主线程,而使用 Thread 类创建的线程则称为子线程,您可以使用 Thread 类的 CurrentThread 属性访问线程。线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。主页有21天速通C#教程欢迎订阅!原创 2024-03-26 22:28:11 · 1410 阅读 · 0 评论 -
C#_泛型_委托
C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。是一种规范,它允许我们使用占位符来定义类和方法,编译器会在编译时将这些占位符替换为指定的类型,利用泛型的这一特性我们可以定义通用类(泛型类),方法(泛型方法),接口(泛型接口)。2.当委托中没有存储任何方法的时候,执行会报错:未将对象引用设置到对象的实例 ,解决方法—简写为?主页有21天速通C#教程欢迎订阅!1.委托被调用的时候,会执行该委托变量中存储的所有的方法。原创 2024-03-25 21:56:34 · 1191 阅读 · 1 评论 -
C# 接口_索引器_命名空间
创建一个名为DictionaryWrapper的类,它包装了一个Dictionary对象,并提供了一个索引器,允许我们通过键的部分名称来访问字典中的值。 5.找到对应解决方案中对应的项目文件 “解决方案目录”–> 项目目录–>bin -->Debug —>Next.x —> xxx.dll或者 xxx.exe。3.抽象类的派生类需要使用override去覆写抽象类的抽象成员 接口派生类直接覆写。1.抽象类可以包含非抽象成员 接口只能包含抽象成员(这里的抽象可以理解无实现)原创 2024-03-22 17:49:09 · 1599 阅读 · 1 评论 -
C#_继承_多态_抽象类_虚方法_密封类_静态类
C#是面向对象的编程语言,面向对象编程的四项基本原则:抽象:将实体的相关特性和交互建模为类,以定义系统的抽象表示封装:隐藏对象的内部状态和功能,并仅允许通过一组公共函数进行访问继承:根据现有抽象创建新抽象的能力多形性(多态):跨多个抽象以不同方式实现继承属性或方法的能力。原创 2024-03-21 19:36:37 · 1159 阅读 · 1 评论 -
C#_正则表达式
封装一个类:Aircraft,拥有属性:牌子、型号、颜色、隶属公司、飞行速度、装载人数、飞机类型(大中小(400-200-100)由装载人数自动设置)、当前飞机装载的人数(随机生成)此类设计考虑到一定的简洁和强壮性,但不涉及真实世界中飞行器管理系统的复杂性。在生产环境中,你可能需要更多详细信息、验证和商务规则。正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。访问器以控制如何获取和设置数据。例如,在尝试给出超出航空器承载范围之外旅客数量时抛出异常。原创 2024-03-20 19:41:08 · 680 阅读 · 1 评论 -
C#_类与对象_静态成员
C# 不支持显式地调用析构函数,而是由垃圾回收器(Garbage Collector)负责在对象销毁时自动调用析构函数。垃圾回收器会根据对象的生命周期和内存管理策略来确定何时调用析构函数。主页有C#教程专栏,欢迎订阅!当对象没有被任何变量引用时,会被垃圾回收器回收,此时析构函数会执行。原创 2024-03-19 20:34:59 · 375 阅读 · 1 评论 -
C#集合:从字典到队列——探索数据结构核心
C# 中的集合类(Collection)是专门用于数据存储和检索的类,类中提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。大多数集合类都实现了相同的接口。集合类的用途多种多样,例如可以动态的为元素分配内存、根据索引访问列表项等等,这些类创建 Object 类的对象集合,Object 类是 C# 中所有数据类型的基类。原创 2024-03-18 17:12:34 · 1381 阅读 · 0 评论 -
C# Array(进阶)_Lambda表达式_冒泡排序_集合
C# 中的集合类(Collection)是专门用于数据存储和检索的类,类中提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。在剩下的数当中找最小的与第二个位置的数交换,即顺序放在已排好序的数列的最后,如此循环,直到全部数据元素排完为止。集合类的用途多种多样,例如可以动态的为元素分配内存、根据索引访问列表项等等,这些类创建 Object 类的对象集合,Object 类是 C# 中所有数据类型的基类。3.针对除最后一个元素外的所有元素重复以上的步骤。原创 2024-03-14 22:18:29 · 1101 阅读 · 1 评论 -
C#_Array数组_多维数组_交错数组
交错数组其实就是元素为数组的数组,换句话说就是交错数组中的每个元素都可以是维度和大小不同的数组,所以有时交错数组也被称为“数组的数组”。多维数组(也可称为矩形数组),它可以是二维的,也可以是三维的,多维数组中的数据以类似表格(行、列)的形式存储,因此也被称为矩阵。的形式来访问二维数组中的每个元素,其中 arr 为数组的名称,而 i 和 j 则是数组元素的索引,类似于表格中的行和列。交错数组和多维数组的区别在于,交错数组的每一行的长度可以不同。中的数字就是数组的索引)就可以访问数组中的每个元素。原创 2024-03-13 21:13:34 · 548 阅读 · 0 评论 -
C# Random随机数_DateTime类_String_API_StringBuilder类
字符串一旦创建就不可修改大小,每次使用System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。所以对字符串添加或删除操作不频繁的话,就几个固定的string累加的时候就不需要StringBuilder了,毕竟StringBuilder的初始化也是需要时间的。原创 2024-03-12 21:59:41 · 688 阅读 · 1 评论 -
C# 方法
方法也叫做函数,就是把一系列相关的代码组织(封装)到一起,用于执行一系列的任务的代码块,一个方法分为两部分,方法的定义(声明)和方法的调用(执行)。方法的调用,在方法的名字后面() ,()称之为执行运算符。方法中的代码会在被调用的时候执行,执行完毕之后,继续回到方法调用的位置,继续执行外部的代码Test();原创 2024-03-11 19:40:18 · 911 阅读 · 0 评论 -
C# 第一阶段练习题
本帖为练习题集合,针对前五篇文章所学知识的练习,以周为单位,可称C# 第一阶段练习题原创 2024-03-08 17:18:43 · 437 阅读 · 1 评论 -
C# 流程控制语句
为什么要使用终止循环的关键字? 是为了达到性能优化的目的。比如:我们要找到某些数字中第一个满足条件的值,就可以在找到第一个的时候结束循环。原创 2024-03-07 18:55:02 · 923 阅读 · 1 评论 -
C# 数据类型
如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。苹果的个数、头发的长度、眼睛的颜色、大象的重量、现在的季节、现在的天气、手指的个数、空调的温度、现在放学没有、明天下雨不下、水的重量、鞋的码数、女朋友的名字、有没有女朋友、餐厅名字、学生的学号、电话号码、一句话。object是所有类型的父类型,也就是说,object可以存储任意的数据类型,对象是C#中所有数据类型的终极基类(父类),所以对象类型可以存储任意类型的数据, 可以理解为:object表示为任意类型。值类型直接包含数据。原创 2024-03-04 21:57:11 · 683 阅读 · 0 评论 -
C# 运算符和分支结构
表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值。表达式其实就是一个式子:a+b ,true && false。。表达式也是值类型。原创 2024-03-06 20:12:10 · 889 阅读 · 0 评论 -
C# 数据类型区别和类型转换
性能: 值类型通常有更快的存取速度,因为它们存储在栈上,而非堆上。相比之下,引用类型的数据访问需要通过指针跟踪到堆内存中的对象,这个过程相对较慢。表示: 值类型直接包含数据本身,而引用类型存储的是指向其数据所在堆内存地址的引用。继承: 值类型都继承自System.ValueType,而引用类型都继承自System.Object,这两者定义了.NET中不同数据类型的基本行为。内存管理: 栈上的内存的分配和释放是自动进行的,符合作用域的生命周期。引用类型存储在堆中原创 2024-03-05 19:36:36 · 760 阅读 · 0 评论 -
C# 简介
C# 的发音为“C Sharp”,是一门由微软开发并获得了 ECMA(欧洲计算机制造商协会)和 ISO(国际标准组织)批准的现代的、通用的、面向对象的编程语言。C# 由 Anders Hejlsberg 及其团队在.Net Framework的开发过程中开发,属于 .Net Framework 的一部分,可以用来编写 .Net 应用程序。C# 是专为 CLI (公共语言基础结构)设计的,CLI 由可执行代码和运行时环境组成,允许在不同的计算机平台和体系结构上使用各种高级语言。原创 2024-03-04 21:36:27 · 1002 阅读 · 1 评论