
C#
困了就喝白茶
街边太多人与车,繁华闹市人醉夜
展开
-
获取当前程序路径的方法C++和C#的做法
C#方法一: string exePath = System.AppDomain.CurrentDomain.BaseDirectory; Console.WriteLine(string.Format("exePath:{0}", exePath));运行的结果为exePath:E:\dingdingDownload\DR2800_Print_TSN\DR2800_Print_TSN\bin\Debug\方法二:string path = System.IO.Directory.GetCu原创 2021-05-29 15:56:28 · 1287 阅读 · 8 评论 -
不会用配置文件(ini)去设置代码中的变量?我教你啊!
为什么要用配置文件用配置文件去设置变量可以提高程序的复用性,也很方便。改功能或是参数值,只需要在配置文件中修改就行了,不用修改代码。这样没有源代码,也可以轻松配置程序去实现自己想要的功能。配置文件在Windows下格式[Section1]KeyWord1 = Value1KeyWord2 = Value2…[Section2]KeyWord3 = Value3KeyWord4 = Value4C#中配置文件内容获取或修改的函数如下 [DllImport("kernel32原创 2021-05-21 17:00:30 · 888 阅读 · 0 评论 -
WinForm修改程序图标的做法
图标分两种,一种是exe图标、一种是运行时的图标exe图标这个就是exe图标修改方式:右键点击项目属性,出来下图程序运行时的图标修改的方式:点击窗体Form右键属性,出来下图原创 2021-05-20 09:35:37 · 909 阅读 · 0 评论 -
C#Winform窗体的基本显示操作
模态与非模态窗体模态运行窗体就是,打开窗体,这个窗体不关闭的话,是操作不了其他窗体,非模态就是可以随意操作任意窗体。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using Syst原创 2021-05-17 22:44:26 · 1870 阅读 · 1 评论 -
C#开发中请多使用foreach
什么是foreachforech就是传说中的增强for循环或者称作foreach循环forech对遍历字典或集合具备天然优势,效率高过for循环foreach 操作数组 public void TestFor1() { int[] ints = { 1, 2, 3 }; foreach (int item in ints) { Console.WriteL原创 2021-05-14 12:41:03 · 296 阅读 · 0 评论 -
C#Dictionary字典
Dictionary字典在声明 Dictionary字典时,需要同时为其声明 Dictionary字典内键与值的类型键与值可以是任何类型,但是键必须在设置时是唯一的,而值可以不唯一例子: Dictionary<int, string> dic = new Dictionary<int, string>(); dic.Add(1, "100分"); dic.Add(2, "95分"); dic.Ad原创 2021-05-13 21:44:58 · 499 阅读 · 2 评论 -
C#集合ArrayList与List的使用说明书
在C#中ArrayList与List是常用的集合,List是微软后面开发出来的ArrayListArrayList的优点:ArrayList大小是按照其中存储的数据来动态扩充与收缩的ArrayList 在声明对象时并不需要指定它的长度ArrayList可以很方便地进行数据的添加插入删除 ArrayList aList = new ArrayList(); //插入 aList.Add(123);原创 2021-05-13 21:24:39 · 321 阅读 · 0 评论 -
掌握这些C#的字符串运用技巧就很省事了
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Runtime.InteropServices;nam原创 2021-05-13 17:10:18 · 193 阅读 · 0 评论 -
C#反射(reflection)+特性(attribution)代码加注释
using System;using System.Reflection;//System.Reflection 类的 MemberInfo用于发现与类相关的特性(attribute)。namespace BugFixApplication{ // 一个自定义特性 BugFix 被赋给类及其成员 [AttributeUsage #region//定义了特性能被放在那些前面 (AttributeTargets.Class |//规定了特性能被放在c原创 2021-03-27 15:14:30 · 517 阅读 · 0 评论 -
C#中的事件(Event)
什么是事件事件基本上说是用户操作,如按键、点击、鼠标移动等等,或是一些提示信息,如系统生成的通知。 应用程序需要在事件发生时响应。事件是一种引用类型,实际上也是一种特殊的委托。通常,每个事件的发生都会产生发送方和接收方,发送方式指引发事件的对象,接收方则是指获取、处理事件。事件定义的语法访问修饰符 event 委托名 事件名事件要与委托一起用。由于在事件中使用了委托,因此需要在定义事件前先定义委托。在定义事件后需要定义事件所使用的方法,并通过事件来调用委托。基本案例:using System原创 2021-03-27 09:49:32 · 2959 阅读 · 0 评论 -
C#中的委托(Delegate)
代码和备注详解,简单的例子using System;/*委托(Delegate) 委托字面理解就是一种代理,就想是房地产中介 C#中委托是委托某个方法去实现具体的功能 委托是一种引用类型,委托在使用时,要定义声明委托、实例化委托以及调用委托。 从结构上说,委托和类一样是用户自定义的类型 委托是方法的抽象,它存储的就是一系列具有相同签名和返回值类型的方法和地址。 调用委托时,委托包含的所有方法将被执行。*/ namespace原创 2021-03-26 20:12:27 · 303 阅读 · 0 评论 -
C#错误异常处理(try catch)和自定义错误异常
代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace test03{ //自定义一个异常类原创 2021-03-26 19:23:48 · 1049 阅读 · 0 评论 -
一篇文章即可把C#中的流解释得一清二楚
计算机编程中何为流在计算机编程中,流就是一个类的对象,很多文件的输入输出操作都以类的成员函数的方式来提供。计算机中的流其实是一种信息的转换。它是一种有序流,因此相对于某一对象,通常我们把对象接收外界的信息输入(Input)称为输入流,相应地从对象向外 输出(Output)信息为输出流,合称为输入/输出流(I/O Streams)。对象间进行信息或者数据的交换时总是先将对象或数据转换为某种形式的流,再通过流的传输,到达目的对象后再将流转换为对象数据。所以, 可以把流看作是一种数据的载体,通过它可以实现原创 2021-03-20 15:35:30 · 1506 阅读 · 0 评论 -
讲个笑话,在C#中Path其实是个类,是个关于文件路径操作的类
在 C# 语言中 Path 类主要用于文件路径的一些操作,它也是一个静态类。Path 类中常用的属性和方法如下图所示:例子:using System;using System.IO;namespace MySpace{ class Progarm { static void Main(string[] args) { Console.WriteLine("请输入一个文件路径:"); string原创 2021-03-20 11:25:33 · 169 阅读 · 0 评论 -
C# File类:文件操作
File 类是静态类,所提供的类成员也是静态的,调用其类成员直接使用 File 类的名称调用即可。File 类中获取或设置文件信息的常用方法如下图所示。例子:using System;using System.IO;namespace MySpcae{ class Program { static void Main(string[] args) { //在E盘下创建test01和test02文件原创 2021-03-20 10:33:32 · 288 阅读 · 0 评论 -
C# FileInfo类:文件操作
FileInfo类与File类C# 语言中 File 类和 FileInfo 类都是用来操作文件的,并且作用相似,它们都能完成对文件的创建、更改文件的名称、删除文件、移动文件等操作。File 类是静态类,其成员也是静态的,通过类名即可访问类的成员;FileInfo 类不是静态成员,其类的成员需要类的实例来访问。在 FileInfo 类中提供了一个构造方法,语法形式如下。FileInfo(string fileName)在这里 fileName 参数用于指定新文件的完全限定名或相对文件名。File原创 2021-03-20 10:15:48 · 576 阅读 · 0 评论 -
C# Directoryinfo类:文件夹操作
C# Directoryinfo类:文件夹操作在 C# 语言中 Directory 类和 Directoryinfo 类都是对文件夹进行操作的。DirectoryInfo 类能创建该类的实例,通过类的实例访问类成员。DirectoryInfo 类提供了一个构造方法,语法形式如下。DirectoryInfo(string path)例如创建路径为 D 盘中的 test 文件夹的实例,代码如下。DirectoryInfo directoryInfo = new DirectoryInfo("D:\\原创 2021-03-20 09:46:29 · 2640 阅读 · 0 评论 -
C# Driveinfo:获取计算机驱动器信息
为什么需要文件操作?代码中变量和常量时这些值都是存放到内存中的,当程序运行结束后使用的数据全部被删除。若需要长久保存应用程序中的数据,可以选用文件或数据库来存储。文件通常存放到计算机磁盘上的指定位置,可以是记事本、Word文档、图片等形式。在 C# 语言中提供了相应的类用于直接在程序中实现对文件的创建、移动、读写等操作。文件操作类在 System.IO 命名空间中,包括 Driveinfo 类、Directory 类、Directoryinfo 类、File 类、Filelnfo 类、Path 类等。C原创 2021-03-19 20:02:08 · 1297 阅读 · 0 评论 -
C#线程的详解
线程的作用和意义线程 被定义为程序的执行路径。每个线程都定义了一个独特的控制流。如果您的应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。线程是轻量级进程。一个使用线程的常见实例是现代操作系统中并行编程的实现。使用线程节省了 CPU 周期的浪费,同时提高了应用程序的效率。到目前为止我们编写的程序是一个单线程作为应用程序的运行实例的单一的过程运行的。但是,这样子应用程序同时只能执行一个任务。为了同时执行多个任务,它可以被划分为更小的线程。线程生命周期线原创 2021-03-18 15:04:10 · 15171 阅读 · 3 评论 -
C#中的不安全代码(关键字unsafe)和固定指针(关键字fixed)
首先先设置一下:鼠标右键点工程,选择生成,勾选上允许不安全代码。解释一下什么是不安全代码:C#是一门托管语言,可以不用自己去管理内存。有一些机制的出现代替了C/C++中的指针,如引用、托管、事件等机制。但是C#并没有想java一样完全抛弃掉指针,所以在C#下还可以用指针的。当一个代码块使用unsafe修饰标记符时,C#允许在函数中使用指针变量。不安全代码或非托管代码是指使用变量的代码块。用unsafe关键字编写不安全代码因为使用指针会带来相关的风险,所以C#只允许在特别标记的代码块中使用指针。标原创 2021-03-18 09:05:10 · 1046 阅读 · 1 评论 -
C#的接口(interface)的用法和意义
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;/* 接口Interface 接口定义了属性、方法和事件 ,这些都是接口成员。接口只包含成员的声明。成员的定义是派生类的责任。 接口提供了派生类应遵循的标准结构。使得实现接口的类或结构在形式上保持一致原创 2021-03-16 17:13:48 · 684 阅读 · 1 评论 -
C#运算符重载
运算符重载using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;/* 运算符重载 */namespace test14{ class Box { private double length, breadth, heigth; public dou原创 2021-03-16 16:36:33 · 145 阅读 · 0 评论 -
C#的第一个程序
1.新建2.代码3.运行结果ctrl+F5原创 2021-03-16 08:31:41 · 112 阅读 · 0 评论