05 2021 档案

摘要:Guid(全局统一标识符) 一、简介 1.什么是GUID?全局唯一标识符(GUID,Globally Unique Identifier),GUID也称作 UUID(Universally Unique IDentifier) 。GUID是一种由算法生成的二进制长度为128位的数字标识符。GUID主 阅读全文
posted @ 2021-05-31 18:04 码农阿亮 阅读(3038) 评论(0) 推荐(0)
摘要:??运算符 一、简介 ?? 运算符称为 null 合并运算符,用于定义可以为 null 值的类型和引用类型的默认值。如果此运算符的左操作数不为 null,则此运算符将返回左操作数;否则返回右操作数。 二、代码 class NullCoalesce { static int? GetNullableI 阅读全文
posted @ 2021-05-31 16:49 码农阿亮 阅读(259) 评论(0) 推荐(0)
摘要:多线程的AutoResetEvent 一、简介 我们在线程编程的时候往往会涉及到线程的通信,通过信号的接受来进行线程是否阻塞的操作。AutoResetEvent 允许线程通过发信号互相通信。通常,此通信涉及线程需要独占访问的资源。具体方法和扩展方法请详见AutoResetEvent类,最常用方法中就 阅读全文
posted @ 2021-05-28 18:41 码农阿亮 阅读(203) 评论(0) 推荐(0)
摘要:线程池(ThreadPool) 一、简介 前面介绍了平时用到的大多数的多线程的例子,但在实际开发中使用的线程往往是大量的和更为复杂的,这时,每次都创建线程、启动线程。从性能上来讲,这样做并不理想(因为每使用一个线程就要创建一个,需要占用系统开销);从操作上来讲,每次都要启动,比较麻烦。为此引入的线程 阅读全文
posted @ 2021-05-28 17:58 码农阿亮 阅读(1737) 评论(0) 推荐(0)
摘要:Mutex 一、简介 Mutex的突出特点是可以跨应用程序域边界对资源进行独占访问,即可以用于同步不同进程中的线程,这种功能当然这是以牺牲更多的系统资源为代价的。主要常用的两个方法:public virtual bool WaitOne() 阻止当前线程,直到当前 System.Threading. 阅读全文
posted @ 2021-05-28 16:09 码农阿亮 阅读(701) 评论(0) 推荐(0)
摘要:Monitor类实现线程同步 一、简介 Lock关键字是Monitor的一种替换用法,lock在IL代码中会被翻译成Monitor. lock (obj) { //代码段 } //就等同于 Monitor.Enter(obj); //代码段 Monitor.Exit(obj); Monitor的常用 阅读全文
posted @ 2021-05-28 15:08 码农阿亮 阅读(179) 评论(0) 推荐(0)
摘要:LOCK实现线程同步 一、简介 线程安全概念:线程安全是指在当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。当多个线程同时读写同一份共享资源的时候,可能会 阅读全文
posted @ 2021-05-28 14:22 码农阿亮 阅读(212) 评论(0) 推荐(0)
摘要:ThreadPriority 一、简介 如果在应用程序中有多个线程在运行,但一些线程比另一些线程重要,这种情况下可以在一个进程中为不同的线程指定不同的优先级。线程的优先级可以通过Thread类Priority属性设置,Priority属性是一个ThreadPriority型枚举,列举了5个优先等级: 阅读全文
posted @ 2021-05-28 11:47 码农阿亮 阅读(547) 评论(0) 推荐(0)
摘要:Suspend()和Resume() 一、简介 其实在C# 2.0以后, Suspent()和Resume()方法已经过时了。suspend()方法容易发生死锁。调用suspend()的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源,除非被”挂起”的线 阅读全文
posted @ 2021-05-28 11:35 码农阿亮 阅读(453) 评论(0) 推荐(0)
摘要:多线程的Join() 一、简介 Join方法主要是用来阻塞调用线程,直到某个线程终止或经过了指定时间为止。官方的解释比较乏味,通俗的说就是创建一个子线程,给它加了这个方法,其它线程就会暂停执行,直到这个线程执行完为止才去执行(包括主线程)。 二、代码 class Program { static v 阅读全文
posted @ 2021-05-28 11:06 码农阿亮 阅读(426) 评论(0) 推荐(0)
摘要:多线程的ResetAbort() 一、简介 Abort方法可以通过跑出ThreadAbortException异常中止线程,而使用ResetAbort方法可以取消中止线程的操作,下面通过代码演示使用 ResetAbort方法。 二、代码 class Program { static void Mai 阅读全文
posted @ 2021-05-28 10:44 码农阿亮 阅读(179) 评论(0) 推荐(0)
摘要:多线程Abort() 一、简介: Abort()方法用来终止线程,调用此方法强制停止正在执行的线程,它会抛出一个ThreadAbortException异常从而导致目标线程的终止。 二、代码 class Program { static void Main(string[] args) { Thre 阅读全文
posted @ 2021-05-28 10:36 码农阿亮 阅读(518) 评论(0) 推荐(0)
摘要:约束泛型 代码: namespace Demo5 { class Program { static void Main(string[] args) { int number = 20210527; string str = "Hello,2021-05-27"; //MyTest1传入参数类型必须 阅读全文
posted @ 2021-05-27 16:49 码农阿亮 阅读(81) 评论(0) 推荐(0)
摘要:C#等待异步操作执行完的方式 代码实现: namespace AsyncCallbackDemo1 { class Program { static void Main(string[] args) { //<参数,返回值> Func<int, int> mySum1 = SumNumbers; F 阅读全文
posted @ 2021-05-27 16:40 码农阿亮 阅读(1533) 评论(0) 推荐(0)
摘要:C#无损压缩图片 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Im 阅读全文
posted @ 2021-05-27 15:42 码农阿亮 阅读(224) 评论(0) 推荐(0)
摘要:Log4.net Helper工具类 一、Config文件配置 <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config. 阅读全文
posted @ 2021-05-27 15:18 码农阿亮 阅读(979) 评论(0) 推荐(2)
摘要:C#使用Log4.net记录日子文件 一、简介 1.1 Log4.net优点 几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。经验表明,日志记录往往是软件开发周期中的重要 阅读全文
posted @ 2021-05-27 11:35 码农阿亮 阅读(776) 评论(1) 推荐(2)
摘要:C#写XML文件 一、案例一 //XML文件写方法 //编写XML文件的格式并存储到指定的FilePath(路径) internal void WriterXML(string FilePath) { try { XmlDocument doc = new XmlDocument();//声明一个X 阅读全文
posted @ 2021-05-26 18:19 码农阿亮 阅读(497) 评论(0) 推荐(0)
摘要:调用QQ_Mail发送邮件 代码案例一: private void button1_Click(object sender, EventArgs e) { string myMaillAdress = ""; string myMaillPassword = ""; string myMaillMe 阅读全文
posted @ 2021-05-26 17:19 码农阿亮 阅读(168) 评论(0) 推荐(0)
摘要:C#中对Config配置文件的读写操作案例 一、简介 应用程序配置文件(App.config)是标准的 XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。 *.exe.config配置文件样式: <?xml version 阅读全文
posted @ 2021-05-26 15:19 码农阿亮 阅读(708) 评论(0) 推荐(0)
摘要:多线程编程基础案例 一、使用线程的理由 1、可以使用线程将代码同其他代码隔离,提高应用程序的可靠性。2、可以使用线程来简化编码。3、可以使用线程来实现并发执行。 二、基本知识1、进程与线程:进程作为操作系统执行程序的基本单位,拥有应用程序的资源,进程包含线程,进程的资源被线程共享,线程不拥有资源。2 阅读全文
posted @ 2021-05-25 14:34 码农阿亮 阅读(147) 评论(0) 推荐(0)
摘要:线程同步基础知识点 1.原子操作(Interlocked):所有方法都是执行一次原子读取或一次写入操作。2.lock()语句:避免锁定public类型,否则实例将超出代码控制的范围,定义private对象来锁定。3.Monitor实现线程同步 通过Monitor.Enter() 和 Monitor. 阅读全文
posted @ 2021-05-25 13:46 码农阿亮 阅读(75) 评论(0) 推荐(0)
摘要:线程基础 一、简介 1.为了防止一个应用程序控制CPU而导致其他应用程序和操作系统本身永远被挂起这一可能情况,操作系统不得不使用某种方式将物理计算分割为一些虚拟的进程,并给予每个执行程序一定量的计算能力。此外操作系统必须始终能够优先访问CPU,并能调整不同程序访问CPU的优先级。线程正式这一慨念的实 阅读全文
posted @ 2021-05-25 11:44 码农阿亮 阅读(82) 评论(0) 推荐(0)
摘要:C#判断一串字符串是否为数字字符串 简介: 当现在有一个字符串,需要判断这个字符串是否可以转为Number类型时,可以运用下面这段代码进行判别。其中包括判别带小数点的数字字符串。 public bool IsNumeric(string str) { if (str == null || str.L 阅读全文
posted @ 2021-05-24 15:17 码农阿亮 阅读(1713) 评论(1) 推荐(0)
摘要:OverWrite 一、简介 overwrite覆写,用new实现。在子类中用 new 关键字修饰定义的与父类中同名的方法,也称为覆盖,覆盖不会改变父类方法的功能。 二、代码 namespace 重寫 { class Parent { public void F() { Console.WriteL 阅读全文
posted @ 2021-05-22 14:03 码农阿亮 阅读(992) 评论(0) 推荐(0)
摘要:Overload 一、简介 overload重载,在同一个类中方法名相同、参数或返回值不同的多个方法即为方法重载。注意事项:1.出现在同一个类中。2.参数列表不同或返回类型和参数列表都不同,只有返回类型不同不是重载。(参数列表包括参数个数和参数类型) 二、代码 namespace 重载 { clas 阅读全文
posted @ 2021-05-22 13:54 码农阿亮 阅读(531) 评论(0) 推荐(0)
摘要:Override 一、简介 override意思是重写。它是在子类中重写父类中的方法,两个函数的函数特征(函数名、参数类型与个数)相同,用于拓展或修改继承的方法、属性、索引器或事件的抽象或虚拟实现,提供从基类继承的成员的新实现,而通过override声明重写的方法称为基方法。 二、重写抽象方法 cl 阅读全文
posted @ 2021-05-22 13:31 码农阿亮 阅读(2126) 评论(0) 推荐(0)
摘要:Parallel.For循环与普通的for循环的比较 一、Parallel.For循环优于For的情况 代码: #region Parallel.For public static void ParallelForTest() { //标准For var dt = DateTime.Now; var 阅读全文
posted @ 2021-05-22 11:14 码农阿亮 阅读(448) 评论(0) 推荐(0)
摘要:C#死锁案例代码 简介: 如下代码实现创建两个线程t1和t2,分别起初分配占用lock1和ock2资源。当一个线程t1占用资源lock1时,再去请求另外一个资源lock2时,此时由于另外一个线程t2在正占用资源t2,请求失败,等待释放资源。同时t2又发出请求资源lock1,但是lock1又被t1占用 阅读全文
posted @ 2021-05-22 10:36 码农阿亮 阅读(238) 评论(0) 推荐(0)
摘要:C#的构造函数在基类和父类中执行顺序 一、简介 当我们没有在子类构造函数中写上 base(),默认会先调用父类中无参的构造函数,再调用子类。当在有参构造函数后写上base时,只调用子类构造函数中有参的构造函数,隐藏父类无参构造函数。 二、代码案例 父类代码: #region 父类 /// <summ 阅读全文
posted @ 2021-05-22 09:47 码农阿亮 阅读(1233) 评论(0) 推荐(0)
摘要:C#构造函数 一、简介 构造函数,基本用法是在类对象声明的时候完成初始化工作。 二、实例构造函数 1、构造函数的名字与类名相同。 2、使用 new 表达式创建类的对象或者结构(例如int)时,会调用其构造函数。并且通常初始化新对象的数据成员。 3、除非类是静态的,否则会为没有构造函数的类,自动生成一 阅读全文
posted @ 2021-05-22 09:16 码农阿亮 阅读(2651) 评论(0) 推荐(0)
摘要:C# 多线程的死锁 一、死锁简介: 在多道程序设计环境下,多个进程可能竞争一定数量的资源,。一个进程申请资源,如果资源不可用,那么进程进入等待状态。如果所申请的资源被其他等待进程占有,那么该等待的进程有可能无法改变状态,这种情况下称之为死锁。 二、死锁条件 死锁的四个条件: 1.非抢占:资源不能被抢 阅读全文
posted @ 2021-05-21 19:26 码农阿亮 阅读(606) 评论(0) 推荐(0)
摘要:多线程的几个相关案例 案例一: 代码: public static void Test2() { for (int i = 0; i < 10; i++) { Task.Factory.StartNew(() => Console.WriteLine($"{Thread.CurrentThread. 阅读全文
posted @ 2021-05-21 18:55 码农阿亮 阅读(228) 评论(0) 推荐(0)
摘要:Parallel.For()和Parallel.For<TLocal>() 一、简介: Parallel类提供了数据和任务的并行性;Paraller.For()方法类似于C#的for循环语句,也是多次执行一个任务。使用Paraller.For()方法,可以并行运行迭代,迭代的顺序没有定义。在For( 阅读全文
posted @ 2021-05-21 17:26 码农阿亮 阅读(228) 评论(0) 推荐(1)
摘要:复杂多线程环境下使用读写锁同步写入文件 代码一: class Program { static int LogCount = 1000; static int SumLogCount = 0; static int WritedCount = 0; static int FailedCount = 阅读全文
posted @ 2021-05-21 15:49 码农阿亮 阅读(234) 评论(0) 推荐(0)
摘要:C#使用读写锁解决多线程并发 一、简介: 在开发程序的过程中,难免少不了写入错误日志这个关键功能。实现这个功能,可以选择使用第三方日志插件,也可以选择使用数据库,还可以自己写个简单的方法把错误信息记录到日志文件。现在我们来讲下最后一种方法: 在选择最后一种方法实现的时候,若对文件操作与线程同步不熟悉 阅读全文
posted @ 2021-05-21 14:30 码农阿亮 阅读(736) 评论(1) 推荐(0)
摘要:LINQ简介 一、什么是LINQ 长期以来,开发社区形成以下的格局:1、面向对象与数据访问两个领域长期分裂,各自为政。 2、编程语言中的数据类型与数据库中的数据类型形成两套不同的体系,例如: C#中字符串用string数据类型表示。 SQL中字符串用NVarchar/Varchar/Char数据类型 阅读全文
posted @ 2021-05-17 17:41 码农阿亮 阅读(1394) 评论(0) 推荐(0)
摘要:const和static的区别 一、const 1.static 局部变量 将一个变量声明为函数的局部变量,那么这个局部变量在函数执行完成之后不会被释放,而是继续保留在内存中2.static 全局变量 表示一个变量在当前文件的全局内可访问3.static 函数 表示一个函数只能在当前文件中被访问4. 阅读全文
posted @ 2021-05-17 16:19 码农阿亮 阅读(4885) 评论(0) 推荐(0)
摘要:C#中计算两个时间间隔值 // TimeSpan DateTime t1 = Convert.ToDateTime("2020/11/17 12:30:00"); DateTime t2 = Convert.ToDateTime("2020/11/17 12:40:00"); int tsm = t 阅读全文
posted @ 2021-05-17 15:50 码农阿亮 阅读(841) 评论(0) 推荐(0)
摘要:实现自定义集合的 IEnumerable 和 IEnumerator 接口 namespace ConsoleApplication1 { //定义Person类 public class Person { //初始化 public Person(string fName, string lName 阅读全文
posted @ 2021-05-17 15:26 码农阿亮 阅读(127) 评论(0) 推荐(0)
摘要:C#中IEnumerable的学习 简介: IEnumerable接口是非常的简单,只包含一个抽象的方法GetEnumerator(),它返回一个可用于循环访问集合的IEnumerator对象。对于所有数组的遍历,都来自IEnumerable接口。 IEnumerator对象有什么呢?它是一个真正的 阅读全文
posted @ 2021-05-17 14:57 码农阿亮 阅读(6060) 评论(0) 推荐(1)
摘要:C#中In、Out和Ref的区别 简介: In:过程不会改写In的内容 ,默认的传递方式,即向函数内部传送值。Out和out:传入的值不会被过程所读取,Out在传入的时候,参数的数值会清空,但过程可以写 。只出不进ref:可以把参数的数值传递进函数 ,过程会读,会写 。有进有出。 一、In In 关 阅读全文
posted @ 2021-05-17 11:53 码农阿亮 阅读(1013) 评论(0) 推荐(0)
摘要:C#中Abstract和Virtual的区别 简介: c#中Abstract和Virtual比较容易混淆,都与继承有关,并且涉及override的使用。virtual可以被子类重写,而abstract必须被子类重写。virtual修饰的方法必须有实现(哪怕是仅仅添加一对大括号),而abstract修 阅读全文
posted @ 2021-05-17 09:35 码农阿亮 阅读(624) 评论(0) 推荐(0)
摘要:.NET Core与.NET Framework 关系 一 .NET 的 Framework 们 要理解.NET Core就有必要了解之前的.NET平台的众多Framework们。2002年微软公司发布的第一个.NET框架————.NET Framework,不久后又发布了.NET Compact 阅读全文
posted @ 2021-05-14 17:58 码农阿亮 阅读(630) 评论(0) 推荐(0)
摘要:委托学习小案例三——Action<> class Program { static void Main(string[] args) { //无参数无返回值的委托 Action action1 = new Action(ActionWithNoParaNoReturn); action1(); Co 阅读全文
posted @ 2021-05-14 16:33 码农阿亮 阅读(106) 评论(0) 推荐(0)
摘要:C#中几种执行SQL的方法 1.不同的数据库 private InfoLightDBTools dbTools; //#ORACLE# this.dbTools = new InfoLightDBTools(clientInfo, dbName); private InfoLightDBTXTool 阅读全文
posted @ 2021-05-14 16:08 码农阿亮 阅读(992) 评论(0) 推荐(0)
摘要:委托学习小案例二 /// <summary> /// 泛型、委托、事件 /// </summary> class Program { //1.声明委托 public delegate void SaySomething(string name); private delegate double Do 阅读全文
posted @ 2021-05-14 15:26 码农阿亮 阅读(87) 评论(0) 推荐(0)
摘要:委托学习小案例一 class Program { //1.委托的声明 public delegate void GetIntDelegate(int a); public class getIntClass { //2.定义委托的使用方法 public static void SetDelegate 阅读全文
posted @ 2021-05-14 14:21 码农阿亮 阅读(77) 评论(0) 推荐(0)
摘要:普通实例方法和静态方法在委托中的区别 简介: 普通方法和静态方法相比,当委托进行引用时,所指向的对象不同,静态方法的指向为null。具体判断代码如下: class Program { static void Main(string[] args) { Tartget.Test1(); } publi 阅读全文
posted @ 2021-05-14 14:13 码农阿亮 阅读(165) 评论(0) 推荐(0)
摘要:利用泛型委托实现比较大小 /// <summary> /// 利用委托比较大小 /// </summary> class Program { //1.定义学生类 public class Student { public string Name { get; set; } public int Ag 阅读全文
posted @ 2021-05-14 14:04 码农阿亮 阅读(112) 评论(0) 推荐(0)
摘要:泛型委托 简介: 我们每次要使用一个委托时,都需要先声明这个委托类,规定参数和返回值类型,然后才能实例化、调用。为了简化这个过程, .NET 框架为我们封装了三个泛型委托类,因此大部分情况下我们不必再声明委托,可以拿来直接实例化使用,方便了我们的日常Coding。 这三种泛型委托包括:Func<T> 阅读全文
posted @ 2021-05-14 13:59 码农阿亮 阅读(497) 评论(0) 推荐(0)
摘要:迭代算法 public static int f(int L) { int result = 0; //迭代初始值 if (L==1 || L==2) { result = 1; } else { //實現迭代 result = f(L - 1) + f(L - 2); } return resul 阅读全文
posted @ 2021-05-14 10:59 码农阿亮 阅读(390) 评论(0) 推荐(0)
摘要:冒泡排序算法 public static void maopao(int [] array) { int temp = 0; //打印出原數組的順序 Console.WriteLine("原數組順序為:"); foreach (var item in array) { Console.Write(i 阅读全文
posted @ 2021-05-14 10:52 码农阿亮 阅读(85) 评论(0) 推荐(0)
摘要:定义 CookieHelper 工具类缓存和获取Cookie信息 public class CookieHelper { //缓存Cookie信息 public static void Set(string strName, string strValue) { HttpCookie _cookie 阅读全文
posted @ 2021-05-12 10:13 码农阿亮 阅读(107) 评论(0) 推荐(0)
摘要:SQL%NOTFOUND SQL%NOTFOUND,没有记录被修改,返回TRUE declare begin insert into eep.users (userid, pwd) values ('002', '00002'); dbms_output.put_line('SQL%NOTFOUND 阅读全文
posted @ 2021-05-05 15:45 码农阿亮 阅读(289) 评论(0) 推荐(0)
摘要:SQL%FOUND SQL%FOUND,有记录被修改,返回TRUE declare begin insert into eep.users (userid, pwd) values ('002', '00002'); dbms_output.put_line('SQL%FOUND=' || CASE 阅读全文
posted @ 2021-05-05 15:43 码农阿亮 阅读(226) 评论(0) 推荐(0)
摘要:SQL%ROWCOUNT --SQL%ROWCOUNT,輸出语句操作的记录数 declare begin insert into eep.users (userid, pwd) values ('002', '00002'); dbms_output.put_line('insert 插入了' || 阅读全文
posted @ 2021-05-05 15:40 码农阿亮 阅读(242) 评论(0) 推荐(0)
摘要:Procedure之简单的Check 信息 Parameter list create or replace procedure CHECK_MAIL_ADDRESS(USER_ID IN VARCHAR2,RES OUT VARCHAR2) AS declaration EMAIL VARCHAR 阅读全文
posted @ 2021-05-05 15:01 码农阿亮 阅读(90) 评论(0) 推荐(0)
摘要:Dataset 转 XLSX public string DataSetToXlsx(DataSet vContent, string vOutputFilePath) { string result; try { if (vContent != null && vContent.Tables.Co 阅读全文
posted @ 2021-05-05 10:34 码农阿亮 阅读(113) 评论(0) 推荐(0)
摘要:XLSX 转 DataSet public DataSet XlsToDataSet(string vFilePath) { DataSet dataSet = new DataSet(); Stream stream = null; try { stream = File.OpenRead(vFi 阅读全文
posted @ 2021-05-05 10:32 码农阿亮 阅读(94) 评论(0) 推荐(0)
摘要:DataTable 转 XLSX public string DataTableToXlsx(DataTable vContent, string vOutputFilePath) { string result; try { SLDocument sldocument = new SLDocume 阅读全文
posted @ 2021-05-05 10:28 码农阿亮 阅读(114) 评论(0) 推荐(0)
摘要:Xlsx 转 DataTable public DataTable XlsxToDataTable(string vFilePath, string vSheetName) { DataTable dataTable = new DataTable(); try { SLDocument sldoc 阅读全文
posted @ 2021-05-05 10:24 码农阿亮 阅读(172) 评论(0) 推荐(0)
摘要:DataTabel 转 CSV 文件 public string DataTableToCsv(DataTable vContent, string vOutputFilePath) { string result; try { if (File.Exists(vOutputFilePath)) { 阅读全文
posted @ 2021-05-05 10:14 码农阿亮 阅读(110) 评论(0) 推荐(0)
摘要:CSV文件转DataTable public DataTable CsvToDataTable(string vFilePath) { DataTable dataTable = new DataTable(); try { TextFieldParser textFieldParser = new 阅读全文
posted @ 2021-05-05 10:05 码农阿亮 阅读(337) 评论(0) 推荐(0)
摘要:获取FTP文件目录下的所有文件信息 public string[] ftpDirDetail(string ftpPath, string user_name, string pass_word) { WebResponse webresp = null; StreamReader ftpFileL 阅读全文
posted @ 2021-05-05 09:47 码农阿亮 阅读(2410) 评论(0) 推荐(0)
摘要:创建一个Excel文件 /// <param name="filePath">filePath 为Excel保存的路径</param> public static void CreateExcel(string filePath) { Excel.Application excel = new Ex 阅读全文
posted @ 2021-05-05 09:40 码农阿亮 阅读(504) 评论(0) 推荐(0)
摘要:DataTable的列操作 public DataTable GenerateTable() { //对Table1添加列名,并设置列值类型 DataTable dt1 = new DataTable();//创建Table dt1.Columns.Add("ID", typeof(string)) 阅读全文
posted @ 2021-05-05 09:37 码农阿亮 阅读(444) 评论(0) 推荐(0)
摘要:获取文件目录下的文件 //方法一:獲取目錄下所有文件 var dirinfo = new DirectoryInfo(path1); FileInfo[] fileinfo = dirinfo.GetFiles(); //獲取目錄下所有匹配的文件 //FileInfo[] fileinfo = di 阅读全文
posted @ 2021-05-05 09:29 码农阿亮 阅读(285) 评论(0) 推荐(0)
摘要:C#中直接执行SQL的方法 查询语句: public static DataTable GetSelectResult() { DataTable dtResult; dtResult = new DataTable(); try { using (OracleConnection oc = new 阅读全文
posted @ 2021-05-04 16:33 码农阿亮 阅读(557) 评论(0) 推荐(0)
摘要:调用配置好的邮件服务器 Send Mail public void SendMail(string vMailFrom, string vMailName, string vMailPass, string vMailPort, string vMailHost, string vMailPri, 阅读全文
posted @ 2021-05-04 16:00 码农阿亮 阅读(101) 评论(0) 推荐(0)
摘要:利用正则表达式按文件类型查找文件 public string [] getFileName() { string [] AAFileNameList; string strFileNameList = ""; string localFilePath = @"D:\AAFile\"; if (!Di 阅读全文
posted @ 2021-05-04 15:52 码农阿亮 阅读(548) 评论(0) 推荐(0)
摘要:FTP的文档上传功能实现 public object UploadFile(String filename, string targetDir, string hostname, string username, string password) { object resObj; string UR 阅读全文
posted @ 2021-05-04 15:25 码农阿亮 阅读(342) 评论(0) 推荐(0)
摘要:调用cmd.exe 连接磁盘 public string connectFTP(string vPath, string vUID, string vPassword) { string errormsg = ""; Process proc = new Process(); try { proc. 阅读全文
posted @ 2021-05-04 14:57 码农阿亮 阅读(90) 评论(0) 推荐(0)
摘要:XML文件解析帮助类 class ReadXMLHelper { #region 读取XML配置文件 /// <summary> /// 读取XML配置文件 失败返回null /// </summary> /// <param name="filePath">xml文件路径</param> /// 阅读全文
posted @ 2021-05-04 14:53 码农阿亮 阅读(128) 评论(0) 推荐(0)
摘要:WebGridView 绑定的某个栏位动态填充背景 代码: protected void wgvQUERY_DataBound(object sender, EventArgs e) { for (int i = 0; i < wgvQUERY.Rows.Count; i++) { var str 阅读全文
posted @ 2021-05-04 14:38 码农阿亮 阅读(91) 评论(0) 推荐(0)
摘要:String 转为 List public string StringToList(string aa) { string bb1 = "("; if (!string.IsNullOrEmpty(aa.Trim())) { string[] bb = aa.Split(new string[] { 阅读全文
posted @ 2021-05-04 14:35 码农阿亮 阅读(1354) 评论(0) 推荐(0)
摘要:字符串MD5 加密 public string getMd5String(string input) { // Create a new instance of the MD5CryptoServiceProvider object. MD5 md5Hasher = MD5.Create(); // 阅读全文
posted @ 2021-05-04 14:33 码农阿亮 阅读(318) 评论(0) 推荐(0)
摘要:将String转换为UTF-8 格式 public string UTF8Convert(string str) { if (str.Trim() != "") { string ascii_data = ""; byte[] t_byte = Encoding.UTF8.GetBytes(str) 阅读全文
posted @ 2021-05-04 14:28 码农阿亮 阅读(3574) 评论(0) 推荐(0)
摘要:通过cmd调用7z软件实现压缩和解压缩文件 压缩文件: public object CompressZipFile(string sourceFile, string destinationFile) { object resObj; Process process = new Process(); 阅读全文
posted @ 2021-05-04 14:24 码农阿亮 阅读(1465) 评论(0) 推荐(0)