C#
C#语法
GreAmbWang
博客是我的笔记本,Blink是我的朋友圈,论坛是我的老师
展开
-
【C#】静默安装、SQL SERVER静默安装等
可以通过cmd命令行来执行,也可以通过代码来执行,一般都需要管理员权限运行。ProductCode为安装程序的ProductCode属性值。原创 2023-08-12 16:36:09 · 2239 阅读 · 0 评论 -
【C#】获取已安装的应用名称、启动路径、安装位置、产品代码、卸载字符串等
【代码】【C#】获取已安装的应用名称、启动路径、安装位置、产品代码、卸载字符串等。原创 2023-08-12 16:14:12 · 2134 阅读 · 0 评论 -
【C#】获取已安装的NETFramework版本集合
【代码】【C#】获取已安装的NETFramework版本集合。原创 2023-08-12 16:08:33 · 2308 阅读 · 0 评论 -
【C#】通过C#代码创建IIS应用程序池和网站
通过C#代码创建IIS应用程序池和网站,参考了其他人的代码,做了一些优化,很多代码用不上。原创 2023-08-12 16:00:18 · 767 阅读 · 0 评论 -
【C#】启动打印机服务
C#启动打印机服务,需要以管理员身份运行。原创 2023-08-12 15:50:28 · 181 阅读 · 0 评论 -
【C#】判断打印机共享状态
【代码】【C#】判断打印机共享状态。原创 2023-08-12 15:48:01 · 763 阅读 · 0 评论 -
【C#】设置有线网卡IP地址,子网掩码,网关,DNS
【代码】【C#】设置有线网卡IP地址,子网掩码,网关,DNS。原创 2023-08-12 15:44:32 · 1542 阅读 · 0 评论 -
【C#】重置指定系统用户的密码(以管理员身份运行)
【代码】【C#】重置指定系统用户的密码(以管理员身份运行)原创 2023-08-12 15:39:28 · 331 阅读 · 0 评论 -
【C#】获取电脑CPU、内存、屏幕、磁盘等信息
Disk Info:系统(C:), 74.2GB is available for 238.1GB in total, NTFS, 本地固定磁盘。软件(D:), 151.9GB is available for 300GB in total, NTFS, 本地固定磁盘。办公(E:), 30.7GB is available for 300GB in total, NTFS, 本地固定磁盘。整理了获取电脑CPU、内存、屏幕、磁盘等信息的代码。原创 2023-08-12 15:28:25 · 3759 阅读 · 0 评论 -
记一次部署问题,C#调用C++ dll,在VS2019正常,在服务器报错,分析及解决方案
起因有一个内网项目,生产线上的上位机软件需要做一个检验功能,为了安全,将业务逻辑做成API,上位机软件调用。在其中就包含了一个功能,需要调用C++写的dll,为了安全才写的C++dll。问题在调试过程中,一切正常,项目完成后,部署到服务器就报错,异常为SEHExcepion,外部组件发生异常。处理做了很多的尝试...尝试一修改项目为x86一开始以为是32位或64位程序的问题,由于C++ dll是32位,所以api项目就改成了x86的,部署后还是报错尝试二修改...原创 2021-09-09 21:08:10 · 1190 阅读 · 3 评论 -
【C#】获取系统启动时间
没有能直接获取系统时间的方法只能获取系统启动后经过的毫秒数Environment.TickCount从当前的时间和系统启动原创 2021-06-12 00:45:18 · 1779 阅读 · 0 评论 -
【C#】记录一次上位机软件界面闪退分析及解决方案
检验人员做仪器检验的过程中发现,软件闪退根据检验员叙述,在操作仪器的过程中,发现仪器突然闪退事件发生与2021年6月8日,原创 2021-06-12 00:13:05 · 4594 阅读 · 4 评论 -
【C#】获取软件版本号错误,要获取程序集版本号,文件版本号
今天在开发过程中,发现软件的版本号不对。后面分析,发现调用的是var a = Application.ProductVersion;这个原本是可以的,因为启动项目就是本项目,后面启动项目改了,在原来的基础上又加了一个项目,相当于B项目调用A项目,这样导致Application.ProductVersion读取的是B项目的版本号,获取的版本号是1.0.0,所以只能修改获取版本号的方法。后面查到获取程序集的方法var b = System.Reflection.Assembl.原创 2021-06-11 23:05:07 · 1088 阅读 · 0 评论 -
【C#】计算代码运算时间
代码Stopwatch watch = new Stopwatch();watch.Start();//运行代码watch.Stop();TimeSpan timespan = watch.Elapsed;Console.WriteLine("全部完成...用时:" + timespan.TotalMilliseconds + "ms");Console.ReadKey();结果原创 2020-12-29 19:08:13 · 739 阅读 · 0 评论 -
【C#】打开文件夹并选中文件
/// <summary>/// 打开路径并定位文件/// </summary>/// <param name="filePath">文件绝对路径</param>[DllImport("shell32.dll", ExactSpelling = true)]private static extern void ILFree(IntPtr pidlList);[DllImport("shell32.dll", CharSet = CharS...原创 2020-07-18 21:28:57 · 363 阅读 · 0 评论 -
【C#】DataTable用法
基本用法DataTable dt = new DataTable();dt.TableName = "table1";dt.Columns.Add("col1", typeof(string));dt.Columns.Add("col2", typeof(string));dt.Columns.Add("col3", typeof(string));DataRow dr = d...原创 2020-03-26 00:36:02 · 145 阅读 · 0 评论 -
【C#】集合已修改;可能无法执行枚举操作。
问题在使用foreach执行列表移除操作时,报错代码foreach (var item in list){ if (判断条件) { list.Remove(item); }}解决方法一:使用for循环for (int i = 0; i < list.Count; i++){ if (判断条件) ...原创 2020-02-28 10:35:45 · 956 阅读 · 0 评论 -
【C#】Image和Byte[]互转
/// <summary>/// Image转成byte[]/// </summary>private byte[] ImageToByte(Image image){ MemoryStream ms = new MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat...原创 2019-12-11 22:25:32 · 305 阅读 · 0 评论 -
【C#】序列化和反序列化
序列化,将对象转换为二进制反序列化,将二进制转换为对象作用:传输数据实例将类标记为可以序列化[Serializable]public class Person{ public int ID { get; set; } public string Name { get; set; } public int Age { get; set; ...原创 2019-12-03 01:01:42 · 196 阅读 · 0 评论 -
【C#】装箱和拆箱
装箱:值类型转换为引用类型拆箱:引用类型转换为值类型装箱或拆箱发生的条件:这两种类型存在继承关系装箱或拆箱会影响性能原创 2019-12-03 00:16:54 · 126 阅读 · 0 评论 -
【C#】数组排序:冒泡排序
冒泡排序int[] nums = new int[] { 5, 8, 9, 2, 0, 6, 3, 1, 4, 7 };for (int i = 0; i < nums.Length - 1; i++){ for (int j = 0; j < nums.Length - 1 - i; j++) { if (nums[j] > nums[...原创 2019-11-30 20:14:32 · 333 阅读 · 0 评论 -
【C#】水仙花数
水仙花数定义:一个三位数,百位的立方 + 十位的立方 + 个位的立方 = 这个三位数for (int i = 100; i < 999; i++){ int a = i / 100; //百位 int b = i % 100 / 10; //十位 int c = i % 10; //个位 if (a * a * a...原创 2019-11-30 19:23:10 · 378 阅读 · 0 评论 -
【C#】判断是否闰年
判断是否闰年的条件:1.年份能够被400整除(比如2000)2.年份能够被4整除但不能被100整除(比如2008)/// <summary>/// 判断是否闰年/// </summary>private bool IsLeapYear(int year){ return (year % 400 == 0) || (year % 4 == 0 ...原创 2019-11-30 18:55:55 · 313 阅读 · 0 评论 -
【C#】试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
问题:C#调用C++的DLL时,出现错误:试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)解决:勾选--首选 32 位--解决原创 2019-10-17 11:17:35 · 1018 阅读 · 0 评论 -
【C#】Out of memory. A generic error occurred in GDI+.at System.Drawing.Image.RotateFlip
问题在显示图片时出现大红叉,偶现问题查看后台日志记录,出现错误如下1.System.OutOfMemoryException: Out of memory. at System.Drawing.Graphics.CheckErrorStatus(Int32 status) at System.Drawing.Graphics.DrawImage(Image image...原创 2019-09-19 10:51:09 · 1648 阅读 · 0 评论 -
【C#】\\r\\n替换成\r\n
用LitJson将数据转为json数据后,自动添加了转义字符\,\r\n就变成了\\r\\n了,所以要将\\r\\n替换成\r\n现在有一字符串string info = "第一行\\r\\n第二行";这样不成功,结果还是\\r\\ninfo.Replace(@"\\r\\n", "\r\n");这样才成功info = System.Text.RegularEx...原创 2019-07-29 23:06:58 · 1672 阅读 · 1 评论 -
【C#】判断字符串是否以特定字符开头
判断是否以*号开头(单个字符)str.StartsWith("*")或str.Substring(0, 1) == "*"第一个参数表示检索字符开始位置,第二个参数表示检索字符长度判断是否以AB开头(多个字符)str.StartsWith("AB")或str.Substring(0, 2) == "AB"所有还是StartsWith比较实用,...原创 2019-04-30 18:41:25 · 13073 阅读 · 0 评论 -
【C#】Process.Start 打开文件夹,选中某个文件,打开控制面板等
Process.Start,一般用来打开文件夹或文件也可以打开网址Process.Start(Application.StartupPath + "\\Test");也可以打开并选中某个文件string path = Application.StartupPath + "\\Test\\b.txt";Process.Start("explorer.exe", "/selec...原创 2019-09-10 15:49:10 · 1826 阅读 · 0 评论 -
【C#】找不到Microsoft.SqlServer.SqlClrProvider 复制C:\Windows\assembly的dll
问题在本地开放调试好好的,但是软件安装到别的电脑就出现:could not load file or assembly Microsoft.SqlServer.SqlClrProvider, Version = 10.0.0.0解决于是我从网上下载了Microsoft.SqlServer.SqlClrProvider.dll,但是还是报错,因为版本不对后面查资料,发现调试过程...原创 2019-08-28 19:10:58 · 939 阅读 · 0 评论 -
【C#】System.MissingMethodException:Method not found: 'xxx.get_xxx()'
问题System.MissingMethodException: Method not found: 'System.String Unit.PrintManager.get_PrinterName()'. at IHCUserForms.FrmBarcodePrintManage.FrmBarcodePrintManage_Load(Object sender, EventArgs ...原创 2019-08-09 09:03:09 · 2517 阅读 · 0 评论 -
【C#】正则判断是否存在非法字符
有时候需要在程序上添加文件夹或文件,如果名称存在非法字符则会抛出异常我们可以新建一个文件夹或一个文件,修改名称输入非法字符,可看到以下提示,就可以看到路径中的所有非法字符判断用户输入的名称是否含有非法字符public static bool IsIllegalChar(string value){ return new Regex("^[\\/:*?*<...原创 2019-06-24 23:01:32 · 3103 阅读 · 1 评论 -
【C#】DataTable和DataSet的区别
DataTable 表示一个数据表DataSet 表示一个数据集,包含多个DataTable在查询数据库数据时一般都是用DataTable也可以用DataSet,但是要通过dt.Tables["table1"]或dt.Tables[0]获取表...原创 2019-05-29 17:50:10 · 2754 阅读 · 0 评论 -
【C#】using语句的作用
using语句的作用:离开using语句代码段,会自动调用Dispose(),释放所有资源例如,在连接数据库时,使用using语句public static bool OpenDB(string connectionString){ try { using (SqlConnection conn = new SqlConnection(connec...原创 2019-05-28 20:46:31 · 2801 阅读 · 0 评论 -
【C#】关闭进程,关闭浏览器等
foreach (Process process in Process.GetProcessesByName("QQBrowser")){ process.Kill();}可以在任务管理器查看相关程序名称原创 2019-05-26 23:44:57 · 2023 阅读 · 0 评论 -
【C#】正则表达式判断字符是否汉字,数字,字母
/// <summary>/// 判断是否汉字/// </summary>private bool IsChinese(string value){ Regex rg = new Regex("^[\u4e00-\u9fa5]$"); return rg.IsMatch(value);}/// <summary>/// 判...原创 2019-05-25 23:16:50 · 4666 阅读 · 0 评论 -
【C#】读写ini文件出现乱码,简单解决方法
前言最近公司在做多语言版本,然而遇到一个头疼的问题就是,乱码问题,做的语言西班牙语,之前使用C#使用WritePrivateProfileString和GetPrivateProfileString读取ini文件,中文英文都没问题,但是现在做的是西班牙版本,有些很特殊的字符,为了方便使用,翻译先写在Excel表格,然后自己做一个小工具导出数据到ini文件说的ini文件,因为...原创 2019-05-24 15:35:51 · 16426 阅读 · 9 评论 -
【C#】Unicode转成汉字
/// <summary> /// 转汉字 /// </summary> /// <param name="unicode"></param> /// <returns></returns> public static string UnicodeToString(string...原创 2019-05-03 21:59:41 · 2581 阅读 · 0 评论 -
【C#】获取计算机所有字体
InstalledFontCollection MyFont = new InstalledFontCollection();FontFamily[] MyFontFamilies = MyFont.Families;输出Console.WriteLine("字体总数:" + MyFontFamilies.Length);foreach (var item in MyFon...原创 2019-05-02 00:01:57 · 1316 阅读 · 0 评论 -
【C#】位运算符(&,|,^,~ ,>>)
位运算符常用位运算符有&,|,^真值表如下pqp&qp/ qp^q00000010111111010011注:0表示false,1表示true即是0&0=00&1=01&1=11&0=00|0=00|1=...原创 2019-04-17 23:37:50 · 2838 阅读 · 0 评论 -
【C#】DateTime扩展方法,方便调用
DateTime扩展方法,方便调用/// <summary>/// 扩展方法/// </summary>public static class Extensions{ #region DateTime #region 时间格式 /// <summary> /// HH:m...原创 2019-04-13 12:01:16 · 2062 阅读 · 0 评论