C# - 技术教程文章
基于C#.net,sql server学生成绩管理系统---Shinepans【图】
未完待续,代码稍后上传.............2014-9-5原文:http://blog.csdn.net/shinepan/article/details/39085923
C#读取指定路径下的Config配置文件【代码】
ExeConfigurationFileMap map = new ExeConfigurationFileMap();map.ExeConfigFilename = @"F:\App1.config"; ;Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);string connstr = config.ConnectionStrings.ConnectionStrings["connStr"].ConnectionString;MessageBox.Show(connstr);string key = config.AppSettings.Settings["key"].Value;MessageBox.Show(key); 原...
整理分享C#通过user32.dll模拟物理按键操作的代码【代码】
转载自:http://blog.skydev.cc/对系统模拟按键方面的知识和按键映射代码做了一下梳理,在这里分享出来,适用于开发自动操作工具和游戏外挂。主代码:public const int KEYEVENTF_EXTENDEDKEY = 0x0001; //Key click flagpublic const int KEYEVENTF_KEYUP = 0x0002; //Key up flag[DllImport("user32.dll")]private static extern void keybd_event(byte bVk, byte bSCan, int dwFlags, int dwExtraInfo);[DllImport("user32.dll"...
[转] C#自定义的字符串操作增强类【代码】【图】
1using System;2 3namespace DotNet.Utilities4{5publicclass RandomOperate6 {7// 一:随机生成不重复数字字符串 8privateint rep = 0;9publicstring GenerateCheckCodeNum(int codeCount) 10 { 11string str = string.Empty; 12long num2 = DateTime.Now.Ticks + this.rep; 13this.rep++; 14 Random random = new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> this.rep))); 15for (in...
C#动态添加控件到窗体不显示【代码】【图】
在FormLoad里面添加控件时,用this.Controls.Add()方法向窗体里面动态添加控件,调试,一直不显示,后来发现原来窗体上有一个groupbox覆盖了整个窗体,其实控件已经添加上去了,只是被遮盖了。后面改为this.groupBox1.Controls.Add(),把控件添加到groupbox里面就不会被遮盖了 1privatevoid UniqueForm_Load(object sender, EventArgs e)2 {3if (pFlag == 1)4 {5 Label lbllevel = new Label();...
我学C#的第一天之进制转换器
两天的时间实现了一个功能——进制转换器 今天最大的收获就是如何在文本框中限制输入 如下: private void txtDecimal_KeyPress(object sender, KeyPressEventArgs e) { if ("1234567890".IndexOf(e.KeyChar) == -1 && e.KeyChar != 8) e.Handled = true; 这比在textBox文本中用Message.Show方便且没有bug。 原文:http://www.cnblogs.com/qh123/p/4275408.html
C# struct结构体与enum枚举基本知识点,class与struct的区别【代码】
1using UnityEngine;2///<summary> 3/// 枚举类型4///</summary> 5publicenum state6{7 gameStart,8 gameRuning,9 gameOver 10} 11///<summary>12/// struct结构体 用于储存数据 13///</summary>14publicstruct data 15{ 16publicstring name; 17publicint age; 1819} 20publicclass test : MonoBehaviour 21{ 22/*23 struct与class的区别: 24 1.class 是引用类型,structs是值类型 25 2.cla...
C#_Switch语句的内部实现
Switch的C#内部实现https://www.cnblogs.com/Interkey/p/3730432.html在IL汇编语言中的Switch指令 -- 按照标号来进行跳转(和goto语句中的标号相同) 执行IL中Switch指令时,从运算栈顶弹出一个无符号整数,然后跳转到整数对应的标号位置继续执行 如果整数值没有对应的标号,则忽略switch指令,调到switch指令之后的一条指令开始执行。详细分析: -- 结论 (实验过程见原网页) 1. 整数参数的Switch语句 1a. 连续的整数...
SQLite之C#连接SQLite【代码】【图】
SQLite是一个开源、免费的小型的Embeddable RDBMS(关系型数据库),用C实现,内存占用较小,支持绝大数的SQL92标准,现在已变得越来越流行,它的体积很小,被广泛应用于各种不同类型的应用中。SQLite已经是世界上布署得最广泛的SQL数据库引擎,被用在无以计数的桌面电脑应用中,还有消费电子设备中,如移动电话、掌上电脑和MP3播放器等。SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而...
C# 串行【序列化】和解串【反序列化】
C# 串行【序列化】和解串【反序列化】一. 什么是序列化和反序列话呢? 相信我们做程序的都会遇到这种情况,需要将C#中某一个结构很复杂的类的对象存储起来,或者通过网路传输到远程的客户端程序中去, 这时候用文件方式或者数据库方式存储或者传送就比较麻烦了,这个时候,最好的办法就是使用串行和解串。其实串行就是我们所说的序列化【Serialization】,而解串就是反序列化序列化Deserialization。二.序列化有那几种:Bi...
C# - 阻止派生类重写虚成员【代码】【图】
1using System;2 3namespace 类_阻止派生类重写虚成员4{5// 声明一个抽象类Animal(用abstract关键字声明抽象类) 6publicabstractclass Animal7 {8// 基类的抽象方法Voice(); 功能在派生类实现 9publicabstractvoid Voice(); 10 } 1112// 派生类(子类)继承自Animal 13//14publicclass Horse : Animal 15 { 16// 用sealed修饰重写的Voice()方法,无法在Horse的派生类中重写17publicsealedoverridevoid Voice() 18 { 1...
C#实现WebService服务 项目完整总结【代码】【图】
项目终于上线了,对于程序员的我来说,还着实令人欣喜不已的。先说一下这个项目做了什么。先介绍一下背景上面这个流程图介绍了当我们需要take training follow-up的时候,我们需要在sharepoint Desinger中设置工作流,来完成这些功能,但是现在遇到一个问题,workflow的触发是由于登录页面的用户log一条item记录的时候触发的,如果我们要实现邮件的定时提醒功能,那么就需要在每天都触发执行一次workflow,但是由谁来触发呢?刚开始...
C# this关键字【代码】
使用方式之一: this,在构造函数中使用。 当使用构造函数的重载时,可使用this关键字。 1//构造函数-重载 2public Student(int id, string name, int age, int math)3 {4this.Id = id;5this.Name = name;6this.Age = age;7this.Math = math;8 }910//this关键字,具有最少参数的构造器调用具有最多参数的构造器11public Student(int id, int math) 12 :this(id,"NULL",0, 100) 13 { 14 ...
C#中属性的使用——主动调用才发挥作用
微软对属性定义如下:“属性是这样的成员:它提供灵活的机制来读取、编写或计算某个私有字段的值。 可以像使用公共数据成员一样使用属性,但实际上它们是称作“访问器”的特殊方法。 这使得可以轻松访问数据,此外还有助于提高方法的安全性和灵活性”属性的使用应该记住以下几个规则:1.永远使用属性(而不是字段)来暴露数据,即字段永远是private或protected的2.属性get\set的设置与否可以实现字段是只读还是可读可写3.使用属性之...
C#属性代码生成失败,程序集未标记为可序列化
在使用编写完成的用户控件时,有时会现理某某属性代码生成失败,程序集未标记为可序列化,解决方法参考另一位博主写的很好的点击打开链接我按照上面做还是没能解决问题,然后我想了一下,还要做如下工作1、清理项目2、重新添加项目间引用(如果需要)3、删除该用户控件所在项目的bin和obj目录4、关闭VS,重新生成大功告成!非常感谢 点击打开链接版权声明:本文为博主原创文章,未经博主允许不得转载。原文:http://blog.csdn.net/blo...
C#中实现Hash应用【代码】
在C#中,数据的Hash以MD5或SHA1的方式实现,MD5与SHA1都是Hash算法,MD5输出是128位的,SHA1输出是160位的,MD5比SHA1快,SHA1比MD5强度高。1.1 SHA-1和MD5的比较因为二者均由MD4导出,SHA-1和MD5彼此很相似。相应的,他们的强度和其他特性也是相似,但还有以下几点不同:对强行攻击的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2^128数量级的操...
C#最基本的小说爬虫【代码】【图】
新手学习C#,自己折腾弄了个简单的小说爬虫,实现了把小说内容爬下来写入txt,还只能爬指定网站。第一次搞爬虫,涉及到了网络协议,正则表达式,弄得手忙脚乱跑起来效率还差劲,慢慢改吧。爬的目标:http://www.166xs.com/xiaoshuo/83/83557/ 一、先写HttpWebRequest把网站扒下来这里有几个坑,大概说下:第一个就是记得弄个代理IP爬网站,第一次忘了弄代理然后ip就被封了。。。。。第二个就是要判断网页是否压缩,第一次没弄结...
C#语言的基础
一、C#的引入01..net和C#的区别1)大概在2000年,微软推出了一种革命性的产品--.NET(战略)目标:任何人,在任何地方,使用任何终端设备,都可以访问微软提供的服务。2).net Framework:要想让我们自己写的C#应用可以运行在Good Friend的Computer上,必须有.net Framework3)IDE(Itergrated Developer Environment)集成开发环境区别:net是一种平台,这种平台上可以跑多种语言,例如,vb,j#,C# c#只是一种语言02.Main方法四...
c#语音报时(含完整的声音资源文件).rar
?1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283privatevoidbtnBaoshi_Click(objectsender, EventArgs e){ try { System.Threading.Thread thread = newSystem.Threading.Thread(newSystem.Threading.ThreadStart(PlayTime)); thread.Start(); } catch(Exception ex) { M...
C#中数组、ArrayList和List三者的区别【代码】
在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢。数组 数组在C#中最早出现的。在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单。<span style="font-family:SimSun;font-size:18px;">//数组 string[] s=newstring[2]; //赋值 s[0]="a"; s[1]="b"; //修改 s[1]="a1"; </span> 但是数组存在一些不足的地方。在数组的两个数据间插入数据是很麻烦的,...
【转】 HTML解析:基于XPath的C#类库HtmlAgiliytyPack
【转】 HTML解析:基于XPath的C#类库HtmlAgiliytyPack 最近处于毕业设计开始阶段,前期工作需要去国外的一些专业数据库网站比对一些所需TF家族信息,为了快捷方便,想到用程序去帮助实现。前期实现了一系列的尝试,使用C#的的网络编程类库,获取查询结果,但是为了分析其中的结果并进行比对,我最开始尝试了两天之久的正则表达式,最后发现在解析这样的HTML文档的时候,花费时间太多,因此开始改变策略,最后得知MSHTML和HAP这两个...
使用 C# 进行 Outlook 2007 编程
原文: 使用 C# 进行 Outlook 2007 编程 探讨如何使用 C# 编程语言生成 Outlook 识别的应用程序和 Outlook 外接程序。 请从"Add References"对话框访问"COM"选项卡,并选择"Microsoft Outlook 12.0 Object Library"using Microsoft.Office.Interop.Outlook; 表 1选择 Application 类型的成员CreateItem()允许通过编程创建新的 Outlook 项。GetNamespace()提供对数据存储项的访问。到 Outlook 2007 ,MAPI 是唯一可以使用的命名空...
C#中的继承与多态还有接口【图】
简单继承最简单的三个类public class Animal {public Animal(){Debug.Log("Construct Animal!");} }public class Mammal : Animal {public Mammal(){Debug.Log("Construct Mamal!");} }public class Sheep : Mammal {public Sheep(){Debug.Log("Construct Sheep!");} }在main里面Sheep sheep = new Sheep();子类的构造函数会依次执行基类的构造函数,没有异议。需要注意的是,没有特别声明,子类都会自动去找父类中没有参数的构造函...
C#设计模式(9)——装饰者模式(Decorator Pattern)【代码】【图】
原文:C#设计模式(9)——装饰者模式(Decorator Pattern)一、引言在软件开发中,我们经常想要对一类对象添加不同的功能,例如要给手机添加贴膜,手机挂件,手机外壳等,如果此时利用继承来实现的话,就需要定义无数的类,如StickerPhone(贴膜是手机类)、AccessoriesPhone(挂件手机类)等,这样就会导致 ”子类爆炸“问题,为了解决这个问题,我们可以使用装饰者模式来动态地给一个对象添加额外的职责。下面让我们看看装饰者模式...
c#发送Http请求【代码】
.net 有两种方式取得页面源码 1、HttpWebRequest和HttpWebResponse HttpWebRequest request = (HttpWebRequest)WebRequest.Create(redirectUrl);HttpWebResponse response = (HttpWebResponse)request.GetResponse();using (StreamReader readStream = new StreamReader(response.GetResponseStream(), Encoding.UTF8)){while (!readStream.EndOfStream){ViewBag.Stream += readStream.ReadLine();}}2、WebClien...
C#实现按键弹出查询窗口
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if (keyData == Keys.F2) { this.OnKeyPress(new KeyPressEventArgs(‘r‘)); return true; } else return base.ProcessCmdKey(ref msg, keyData); }原文:https://www.cnblogs.com/Evan-fanfan/p/9286464.html
C# HTTP request相关总结【代码】
最近好多应用都用到了HTTP,然后每次使用,都重新找一遍资料,没有把知识总结起来,学不到什么。现在总结下之前遇到的情况的处理方式。1:WP8.1 httpRequest异步读取数据 GET 1async ReadUrlAsync(int tempid)2 {3 4 5using (var client = new HttpClient())6 {7 client.DefaultRequestHeaders.Add("Accept", "application/json;odata=verbose");//header什么的添加,修改8var data = await cli...
C#实现按键精灵的“找图”“找色”“找字”的功能【代码】【图】
背景:游戏辅助功能通常使用按键精灵编写脚本,按键精灵的最大卖点就是能够找到画面中字,图,色,这对于模拟用户鼠标操作至关重要,这能找到道具,找到血量,实现自动打怪,自动补血,自动买卖道具,博主闲来无聊,看到一款按键精灵实现的辅助,于是乎想用WPF也写一款辅助工具,实现其核心的找图找色等功能。博主测试,对于背景复杂多变的画面,找不变图的成功率达到100%,找带透明的图,比如文字,能达到90%以上。默认您已经知道...
解析C#开发过程常见的编程模式【代码】【图】
单例模式:在多线程的程序开发过程中经常会遇到单例模式[单件模式],它的特点是不是根据客户程序的调用而生成新的实例,而是控制某个类型的实例数量只有一个。也就是说,单例模式就是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例,并为客户程序提供一个获取该实例的全局访问点。接下来看一个经典的单例模式:publicclass SingleInstance {privatestatic SingleInstance _instance=null;private SingleInsta...
C# FindFirstFile win32API (转)【代码】
privatevoid button2_Click(object sender, EventArgs e){WIN32_FIND_DATA FindFileData1 = new WIN32_FIND_DATA();var file = "C:\\Windows\\System32\\osk.exe";//以32位方式编译 找不到文件 。。。 var hFind = FindFirstFile(file, ref FindFileData1);}#region 声明WIN32API函数以及结构 **************************************[Serializable,System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices....