摘要:C#方法返回多个值 问题 在许多情况下,从一个方法返回一个值是不够的。您需要一种方式来从一个方法返回不止一个数据项。 解决办法 对充当返回参数的参数使用关键字 out 。下面的方法接受一个 inputShape 参数,并通过该值计算 height 、width 和 depth 。 public vo
阅读全文
随笔分类 - .NET
分享.NET相关技术文章、经验、知识和见解。
摘要:C# 让类型在集合中可被查找 问题 您有一种数据类型,它将存储为 List 中的元素。您想使用 BinarySearch 方法,自定义您的数据类型在列表中的查找方式。 ## 解决方法 使用 IComparable 和 IComparer 接口,使得 List 和 SortedList<K,V> 集合
阅读全文
摘要:C#实现IComparer 泛型接口让对象可比较 问题 您有一种数据类型,它将存储为 List 或 SortedList<K,V> 的元素。您想使用 List.Sort 方法或者 SortedList<K,V> 的内部排序机制来自定义此数据类型在数组中的排序方式。此外,您可能需要在 SortedLi
阅读全文
摘要:使用C#创建联合结构体 问题 想要用C#创建一种数据类型,类似于 C/C++ 中的联合(union)类型。联合类型主要用于互操作场景,其中非托管代码接受或返回一个联合类型。 解决办法 使用一个结构,并用 [StructLayout] 特性修饰它(在构造函数中指定 LayoutKind.Explici
阅读全文
摘要:易语言DLL与C#.net互操作 本文演示了如何用易语言调用C#.NET编写的DLL,以及用C#调用易语言DLL并输出类。 易语言调用 C# 编写的 .NET 类库 办法是:将C#编写的类库注册为Com组件,然后使用易语言调用。 VS新建一个C# .net类库工程。修改项目属性: 1.勾选 生成 →
阅读全文
摘要:// 用泛型委托实现对象的自定义比较。 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices; using Sy
阅读全文
摘要:C# 使用辗转相除法计算两数的最大公因数及最小公倍数 using System; namespace Program { static class Program { static int Main(string[] args) { int x = 42, y = 12; while (x!=y)
阅读全文
摘要:以下函数封装了SMTP邮件发送代码,请将对应的邮件账号和密码替换为您自己的邮件账号和密码。 注:QQ、网易等邮箱需要先开启SMTP邮件服务。 public static string SendMail(string mailSubject, string mailBody, string recip
阅读全文
摘要:public static int[] GetRandNums (int seed,int total,int minimum, int maximum) { if (Math.Abs(maximum - minimum)+1 < total) { return (null); } int num
阅读全文
摘要:C#递归法便利某个目录下的所有子文件夹和文件 using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Runtime.InteropServices;using Syst
阅读全文
摘要:"GetSystemPowerStatus" 此函数检索系统的电源状态。 该状态指示系统是否运行在交流或直流电源、是否电池正在充电时,电池还有多少寿命。 函数原型 BOOL WINAPI GetSystemPowerStatus(__out LPSYSTEM_POWER_STATUS lpSyste
阅读全文
摘要:C#使用Mutex互斥体禁止程序重复运行 正常情况下,一个进程的执行不会影响其他正在运行的程序实例。然而,一些项目有特殊要求,如使用串口等硬件设备以独占方式,要求其他进程试图使用这个串口设备不允许运行在他们的过程中,这样的程序通常不允许运行同一个程序的多个实例。这就导致了互斥过程的问题。 下面是一种
阅读全文
摘要:调用该函数可以生成一个随机字符串(支持英文大小写字母/数字混合)参数:N 字符数量;number: 是否包含数字;Lowercase:是否包含小写英文字母capital:是否包含大写英文字母 public static string GetRandomCharacters(int n = 10, b
阅读全文
摘要:C#.NET通过设置当前进程PATH环境变量值解决某些Win32DLL找不到路径问题 以下函数设置PATH环境变量值(请注意:该环境变量为当前进程的环境变量,非系统环境变量)用于解决在调用某些Win32DLL时发生找不到目录的问题。调用本函数,将DLL所在路径添加道PATH环境变量。注:进程环境变量
阅读全文
摘要:C#使用 WebRequest 模拟浏览器请求访问网页并自动忽略HTTPS安全证书 以下两个C#异步方法,封装了WebRequest请求,支持忽略SSL证书。 作者:张赐荣 1.Get请求 public static Task<string> HTTP_Get(string URL, string[
阅读全文
摘要:C#字符串Unicode转义序列编解码 在开发过程中时常会遇到"\Uxxxx"格式表示的字符,实际上"xxxx"是字符的Unicode码的十六进制表示方式。这种表示称为"Unicode转义字符"。例如"A"对应的Unicode码为65(十进制),转换后为"\U0041"。 以下C#封装的两个扩展函数
阅读全文
摘要:本函数实现了反转字符串的功能,例如字符串“张赐荣”,反转后得到“荣赐张”。 public static string ReverseText(this string str) // 翻转字符串 { StringBuilder sb = new StringBuilder(); for (int i
阅读全文
摘要:C#字符串Base64编解码 首先讲一下什么是Base64编码所谓Base64就是一种基于64个可打印字符来表示二进制数据的方法。Base64编码是从二进制到字符的过程,常用于在网络上传输不可见字符(不能被打印出来的字符)。标准的Base64编码包含字符有:大小写英文字母(共52个),数字(共10个
阅读全文
摘要:C#随机打乱列表List项目顺序 以下泛型扩展方法,实现了随机打乱泛型列表List<T>的功能 public static List<t> DisorderItems<t>(this List<t> TList) // 打乱 泛型列表项目 { List<t> NewList = new List<t
阅读全文
摘要:一个完整的INI文件格式由节(section)、键(key)、值(value)组成。示例如:[section]key1=value1key2=value2; 备注:value的值不要太长,理论上最多不能超过65535个字节。 在Windows程序开发中经常会遇到读写INI配置文件的情况,以下C#类封
阅读全文