随笔分类 -  [02] C#文章

摘要:关于C#的Main(String[] args)参数输入问题指定相关的测试代码 首先,写一个用于测试的关于Main(String[] args)参数输入有关的代码类,如下:using System;public class Hello{ public static void Main(String[... 阅读全文
posted @ 2014-05-05 21:20 小麻雀 阅读(9074) 评论(0) 推荐(2) 编辑
摘要:关于内存泄漏的问题,之前也为大家介绍过,比如:《C++中内存泄漏的检测方法介绍》,是关于C++内存泄漏的。今天为大家介绍的是关于.NET内存泄漏的问题。 前段时间帮项目组内做了一次内存优化,产品是使用c#开发的winForm程序,一直以为.net提供了垃圾收集机制,开发的时候也没怎么注意内存的释放,导致最后的产品做出来之后,运行一个多小时就内存直接崩溃了,看来.net的垃圾收集还是得需要开发者加以控制,也不是万能的啊。 下面将对垃圾收集做以简介,然后描述一下我在内存优化过程中常见的内存泄露及解决方法。 托管堆的内存分配(下文中的托管堆指的是GC堆) 托管堆是以应用程序域为依托的,即每一... 阅读全文
posted @ 2012-10-30 13:38 小麻雀 阅读(500) 评论(0) 推荐(0) 编辑
摘要:最近由于在做聊天调度服务,场景是这样的,集群聊天服务器,每台服务通过socket按照一定的频率发送UDP数据包给调度服务器,调度服务器接收各台聊天服务器发来的数据包,然后进行相应的数据分析,最后裁定目前最空闲的聊天服务器,以供聊天用户实时快速连接最优服务器,我考虑使用Dictionary数据结构来缓存收集到的服务器汇总数据,开发的过程中遇到几个比较棘手的问题:1、收集的数据是通过多线程进行的,这样造成Dictionary线程安全的问题。针对Dictionary线程安全的问题,我通过继承IDictionary,重新构造线程安全Dictionary对象,这里其实没有什么复杂的,只是在Diction 阅读全文
posted @ 2012-08-06 16:44 小麻雀 阅读(11691) 评论(0) 推荐(2) 编辑
摘要:一、使用BeginInvoke和EndInvoke进行异步调用的四种常用方法,每种方法都是通过BeginInvoke方法来启动异步方法,调用EndInvoke方法来完成异步调用。using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace ConsoleApplication1{ public delegate void AsynComputeCaller(int num, out int result); class Factorial { publi 阅读全文
posted @ 2012-03-30 14:57 小麻雀 阅读(1554) 评论(0) 推荐(0) 编辑
摘要:第一步:将字符串转换成流StringBuilder sb = new StringBuilder();sb.Append("我爱博客园");byte[] data = Encoding.Unicode.GetBytes(sb.ToString());第二步:将流转换成相应的字符串stringsb = string.Empty; if (data!=null && data.Leng... 阅读全文
posted @ 2010-08-25 16:12 小麻雀 阅读(2585) 评论(1) 推荐(1) 编辑
摘要:例如有这样一个string类型的数组:{ "A", "B", "C", "B", "A", "B", "C", "B" },求这个集合内相同元素的个数?C#解法:(1)通过linq解答: string arr={ "A", "B", "C", "B", "A", "B", "C", "B" }; var result = from s in arr group s by s; foreach (v... 阅读全文
posted @ 2010-08-17 13:22 小麻雀 阅读(1175) 评论(0) 推荐(0) 编辑
摘要:准备:环境:pl/sql+oracle9i+vs2008创建表test:create table TEST( ID NUMBER,//编号 NAME VARCHAR2(10),//姓名 SEX VARCHAR2(2),//性别 AGE NUMBER,//年龄 ADDRESS VARCHAR2(200)//住址)1.执行不带参数的Oracle存储过程:首先编写一个不带参数的oracle存储过程:cr... 阅读全文
posted @ 2010-07-12 11:30 小麻雀 阅读(3944) 评论(2) 推荐(1) 编辑
摘要:C#委托 委托示例 事件驱动using System;using System.Collections.Generic;using System.Text;using System.Threading;using System.Runtime.Remoting.Messaging;using System.IO;using System.Net;namespace ConsoleApplicati... 阅读全文
posted @ 2009-05-30 13:05 小麻雀 阅读(844) 评论(0) 推荐(0) 编辑
摘要:C# winform中不规则窗体制作的解决方案:相信每个编程爱好者都希望自己的程序不仅性能优越而且有一个美观的界面,一个区别于别人的程序的个性化的界面。然而以前烦琐的API调用和大量的代码使大家望而却步。现在好了,在C#中通过少量的代码就可以实现不规则窗体的制作。如果您有兴趣就接着往下看吧。一、在说我用的方法前,我不得不说一下另一种方法,这种方法在实现不规则窗体自身显示效果(即除开窗体的移动、最大... 阅读全文
posted @ 2009-05-03 17:45 小麻雀 阅读(818) 评论(0) 推荐(0) 编辑
摘要:来自于以下两个地址,为便于查阅,所以全复制到了自己的BLOG:http://dotnet.chinaitlab.com/VCNET/436373.htmlhttp://www.aspxboy.com/private/1779/default.aspx一,不规则WINFORM窗体Author:unknownFrom:Internet在以前版本的Visual Basic或Visual C++中,创建不... 阅读全文
posted @ 2009-05-03 10:37 小麻雀 阅读(3901) 评论(0) 推荐(2) 编辑
摘要:C#对DataGridView进行添加、修改、删除数据操作数据库用的是本地服务器(MySql):设定全局变量: MySqlConnection conn; MySqlDataAdapter adapter; MySqlTransaction trans;1. // 数据库联接 private System.Data.DataTable dbconn(string strSql) { string ... 阅读全文
posted @ 2008-12-22 11:33 小麻雀 阅读(3539) 评论(0) 推荐(0) 编辑
摘要:(一) 序幕 当DataSet中同时包含主/子表(主键表/外键表)时,有时候关系约束太严格:比如, 关系数据库完整性规则:1.实体完整性。 主键表中主键不准为空。 2.参照完整性。 外键表中外键的值必须与主键表中的主键对应。 要么为空,要么为主键表中的一主键值。 3.自定义完整性。 如果DataSet表中定义的多表关系约束太严密,直接用Update方法将DataSet中多表一起提交时,有可能不满... 阅读全文
posted @ 2008-12-22 10:59 小麻雀 阅读(609) 评论(0) 推荐(0) 编辑
摘要:1.面向对象的思想主要包括什么?2.什么是ASP.net中的用户控件3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?4.列举一下你所了解的XML技术及其应用5.值类型和引用类型的区别?写出C#的样例代码。6.ADO.net中常用的对象有哪些?分别描述一下。7.如何理解委托?8.C#中的接口和类有什么异同。9.。net中读... 阅读全文
posted @ 2008-11-24 21:06 小麻雀 阅读(793) 评论(4) 推荐(0) 编辑
摘要:VS2005环境下,新建一个window窗体:命名多线程应用完整代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using S... 阅读全文
posted @ 2008-11-23 22:47 小麻雀 阅读(2220) 评论(0) 推荐(0) 编辑
摘要:CodeProject上有篇文章An Alternate Way of Writing a Multithreaded GUI in C#本意是Alternate Way 另外一种方法,后来莫名其妙的被转载成中文变了题目,最高效的方法。 CheckForIllegalCrossThreadCalls和control.Invoke有什么不同,哪个更好用,更高效呢? 占在任何角度讲,都不要使用Chec... 阅读全文
posted @ 2008-11-23 13:48 小麻雀 阅读(3181) 评论(0) 推荐(0) 编辑
摘要:概念:1.值类型:数据存储在内存的堆栈中,从堆栈中可以快速地访问这些数据,因此,值类型表示实际的数据。2.引用类型:表示指向存储在内存堆中的数据的指针或引用(包括类、接口、数组和字符串)。区别:基本区别在于它们在内存中的存储方式。值类型只将值存放在内存中,这些值类型都存储在堆栈中。原始数据类型(如bool和int)都属于此类型。而引用类型的内存单元中只存放内存堆中对象的地址,而对象本身放在内存堆中... 阅读全文
posted @ 2008-11-22 19:49 小麻雀 阅读(810) 评论(2) 推荐(0) 编辑
摘要:把VS2008九十天试用版本升级成正式版的办法:升级正式版的方法是把Setupsetup.sdb文件中的[Product Key],由T2CRQGDKBVW7KJR8C6CKXMW3D修改为PYHYPWXB3BB2CCMV9DX9VDY8T。因为九十天试用版本已经是 rtm版本。所以改变序列号以后的升级或者安装,就会变成正式版。不再有使用期限。VS2008简体中文正式版序列号1.Visual St... 阅读全文
posted @ 2008-11-16 15:04 小麻雀 阅读(836) 评论(0) 推荐(1) 编辑
摘要:读取并修改App.config文件(转载)1. 向项目添加app.config文件:右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“app.config”,单击... 阅读全文
posted @ 2008-11-13 11:23 小麻雀 阅读(1240) 评论(2) 推荐(0) 编辑
摘要:(1)新建一个名为“DrawFont”的项目,然后在窗体设计器中,添加4个Button按钮,对窗体和各个控件设置其属性如下:Form1的Text属性:文字特效 BackGroupImage属性:C:\windows\Web\Wallpaper\Bliss.jpgButton1的name属性:btnSD Text属性:3D文字Button1的name属性:btnYY Text... 阅读全文
posted @ 2008-06-13 10:39 小麻雀 阅读(1169) 评论(0) 推荐(0) 编辑
摘要:(1)新建一个windows应用窗体,命名为web浏览器,并为改窗体添加相应的控件,效果图如下:(2)为相应的控件添加相应的事件响应代码,完整代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using... 阅读全文
posted @ 2008-06-10 22:48 小麻雀 阅读(1462) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示