一、windows窗体项目环境配置步骤1.文件—>新建—>项目—>windows—>修改文件名/路径—>确定2.右键添加sqlhelper.cs,再添加引用(.net):System.Configuration3.右键添加—>新建项—>App.config(修改文件中数据库名、文件名)4.在代码中添加using System.Data.SqlClient二、添加DataGridView时,需要加bindingsource(绑定源)//从数据库中读取数据 String sql = "select patient_id,patient_no,name,type,birth,id_no,dept,grade,ma...
1 互斥锁lock(基于Monitor实现)定义:private static readonly object Lock = new object(); 使用:lock (Lock) { //todo }作用:将会锁住代码块的内容,并阻止其他线程进入该代码块,直到该代码块运行完成,释放该锁。注意:定义的锁对象应该是 私有的,静态的,只读的,引用类型的对象,这样可以防止外部改变锁对象2 互斥锁Monitor定义:private static readonly object Lock = new ...
Visual Studio.NET的集成开发环境一、语言基础(一)C#项目的组成结构:1.项目结构1.1 项目后缀.config--配置文件(存放配件参数文件).csproj--项目文件(管理文件项).sln--解决方案文件(管理项目).cs源文件(程序代码)注:后缀不同代表文件类型也不同,这些文件类型会在“解决方案资源管理器”中看到。1.2 函数的四要素:名称,输入,输出,加工。1.3 主函数:输入语句,输出语句。Static void Maid(string[] args){主函数的...
在项目中,在使用哈希表时,有时会需要Override GetHashCode。这里给出一种普遍的做法:版本1:实现一个helper,传递类型T,返回这个类型的hashcode。函数逻辑很直接,只是做了null check而已;如果obj不为空,则直接使用obj的hash code。public class HashHelper
{private int _seed = 17; public int Hash<T>(T obj){// why 31?// https://computinglife.wordpress.com/2008/11/20/why-do-hash-functions-use-prime-numbers/// s...
//try 没增加异常数据处理Console.WriteLine("根据输入的信息计算当年某个月份的天数,以及当年是否是闰年或平年,\n并判断2月份特殊月份的天数。");Console.WriteLine("请输入需要计算的年份:");int year = Convert.ToInt32(Console.ReadLine());Console.WriteLine("请输入需要获取的月份");int month = Convert.ToInt32(Console.ReadLine());switch (month){ case1:case3:case5:case7:case8:case10:case12:Console.WriteLine("是...
本文讲述用C#调用Ironpython运行环境,解析并运行动态pyhton脚本。这种情况应用在那些需要滞后规定行为的场合,例如,动态计算项(计算引擎),用户可以自定义计算内容、计算公式等。 本文的代码适用于IronPython 2.7(需要下载及安装)及C#4.0,由于IronPython早期版本提供的Hosting API不同,对于网上搜索得到的代码,如果是早期版本代码(多数如此),并不能编译通过,所以本文强调代码的版本问题。 本文代码需要引...
简介定义一个范围,将在此范围之外释放一个或多个对象。语法using (Font font1 = new Font("Arial", 10.0f)){}C# 语言参考主要用途using 关键字有两个主要用途:作为语句用于定义一个范围,在此范围的末尾将释放对象C# 通过 .NET Framework 公共语言运行库 (CLR) 自动释放用于存储不再需要的对象的内存。内存的释放具有不确定性;一旦 CLR 决定
执行垃圾回收,就会释放内存。但是,通常最好尽快释放诸如文件句柄和网络连接这样的...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;
using System.Data;
class MySqlHelper:IDisposable{private MySqlConnection m_conn = null;private MySqlTransaction m_trans = null;private bool m_tran_enabled = false;public MySqlHelper(){m_conn = new MySqlConnection();m_conn.ConnectionString = "Server=localhost;Port=3301;Uid=sa;Pwd=000"...
1.1 C#与.NET的简介C#语言简介*历史C -> C++ -> Java -> C#(C语言60年代开始的,现在用途还很广泛。但是C语言不是面向对象的,到后面C++加了很多面向对象的特点,C++内容复杂且多,紧接着出现的就是Java语言,Java语言的出现被誉为C+ + - -,它把C++里面最复杂的部分去掉一部分,就形成了Java语言。Java语言1995年创建以来取得了比较大的成功。后来微软又出了一个C#语言,C#是微软公司在2000年7月发布的一种全新且简单、安全、面向对...
前言一个小需求的实现,做一个备忘,个人理解,可能存在错误。客户有很多设备,这些设备分散在不同的地方,现在需要通过小程序获取附近的(比如1000米)之类的设备列表,以距离排序第一个想到的的是找百度/腾讯等地图,看有没有提供相应的开放api,先将我们的设备id以及对应的经纬度存储到地图中,再调用某个api,传入我当前坐标经纬度,然后返回附近的设备列表。最后没找到这个接口。应该是有,但是我没找到第二个想能不能通过c#用...
为了在服务器上运行程序及时的跟踪出错的地方,可以在必要的地方加入写日志的程序。 string folder = string.Format(@"D:\\{0}\\{1}", DateTime.Now.ToString("yyyy"), DateTime.Now.ToString("MM"));//判断文件夹是否存在if (!Directory.Exists(folder)){Directory.CreateDirectory(folder);}try{File.WriteAllText(string.Format("{0}\\{1}.txt", folder, DateTime.Now.ToString("yyyyMMdd")), "测试信息向文件中覆盖...
两年前的一个项目,基于身份证阅读器的开发,之前都是在公司电脑上开发维护等,今天有需要用到自己的笔记本,只有vs2008和mysql5.5,以为足够,兴致勃勃的拿到客户那里现场解决问题,F5运行程序,程序抛出异常:"无法加载SynIDCardAPI.dll:找不到指定的模块"。网上找了半天资料,大概一下解决方案:1.查看是否安装身份证阅读器驱动2.查看debug目录下是否存在相应dll装上驱动仍旧不行,而由于项目是从公司电脑上拷贝出来的,所以目录...
keybd_event()的函数原型是: void keybd_event( byte bVk, //虚拟键码 byte bScan, //该键的硬件扫描码 dword dwFlags //函数操作的各个方面的一个标志位集 dword dwExtraInfo //与击键相关的附加的32位值 );其中第三个参数有三种取值: · 0:按下 · 1:扩展键 · 2:弹起keybd_event(0x41, 0x1e, 0x0000, 0); // 按下 a
keybd_event(0x41, 0x1e, 0x0002, 0); // ...
C# 6.0 加入了不少东西,C# 的 语言风格变得更好了,周末忙了一上午做了一个demo. 直接代码上来完整代码:#define ASYNC
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using static System.Math;
namespace NewCharp6
{class Program{static void Main(string[] args){//Initilizers for auto properties and function with lamb...
this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;2.Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;3.Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;4.System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程...