随笔分类 - C#
摘要:前言 在项目正式上线后,如果出现错误、异常、崩溃等情况, 我们往往第一想到的事就是查看日志。 所以日志对于一个系统的维护是非常重要的。 声明 本文中的示例代码旨在这个框架是怎么工作的,具体实现可以自由发挥。 贯穿所有的日志系统 日志系统,往往是贯穿一个程序的所有代码的; 试想一下,如果你的日志完全是
阅读全文
posted @ 2016-04-22 00:10
Avatarx
摘要:1 COM中的公寓 本文讨论进程内COM组件。以一个示例直观演示STAThread和MTAThread的作用和区别。 1.1 基本规则 公寓是COM组件的运行环境,日常生活中公寓是用来住人的,COM中的公寓是用来住COM组件的对象的,每个COM对象必须且只能位于一个公寓中:单线程公寓(STA)或多线
阅读全文
posted @ 2016-04-21 23:32
Avatarx
摘要:Posted on 2007-07-07 10:06 桦林 阅读(33100) 评论(10) 编辑 收藏 [STAThread]STAThread:Single Thread Apartment Thread.(单一线程单元线程)[]是用来表示Attributes;[STAThread]是一种线程模
阅读全文
posted @ 2016-04-21 23:26
Avatarx
摘要:在C#中,string 是 System.String 的别名,所以基本上在使用时是没有差别的。习惯上,我们把字符串当作对象时(有值的对象实体),我们用string。而我们把它当类时(需要字符串类中定义的方法),我们用String,比如:string greet = String.Format("H
阅读全文
posted @ 2016-04-21 22:16
Avatarx
摘要:msdn 解释如下: “协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型。 “逆变”则是指能够使用派生程度更小的类型。 解释的很正确,大致就是这样,不过不够直白。 直白的理解: “协变”->”和谐的变”->”很自然的变化”->string->object :协变。 “逆变”->”逆常的
阅读全文
posted @ 2016-04-21 15:54
Avatarx
摘要:引言 Delegate是Dotnet1.0的时候已经存在的特性了,但由于在实际工作中一直没有机会使用Delegate这个特性,所以一直没有对它作整理。这两天,我再度翻阅了一些关于Delegate的资料,并开始正式整理这个C#中著名的特性。本文将由浅入深的谈一下Delegate这个特性。 一.Dele
阅读全文
posted @ 2016-04-21 14:53
Avatarx
摘要:1.方式一:使用ParameterizedThreadStart委托 如果使用了ParameterizedThreadStart委托,线程的入口必须有一个object类型的参数,且返回类型为void. View Code using System; using System.Threading; n
阅读全文
posted @ 2016-04-21 14:44
Avatarx
摘要:让我们来看看如何对一个整数数组使用 Single 操作符。这个整数数组的每个元素代表 2 的 1 到 10 次方。先创建此数组,然后使用 Single 操作符来检索满足 Linq Lambda表达式中指定条件的单个整数元素: int[] nums = { 1, 2, 4, 8, 16, 32, 64
阅读全文
posted @ 2016-04-21 13:56
Avatarx
摘要:1. 开始只有oracle 和access 连接 2. 打开Oracle SQL Developer: 工具——>首选项——>数据库——>第三方JDBC驱动程序——>添加驱动条目 3. 自动加载到目录,JTDS.jar 下载后就到放这里。 (我的路径:C:\Documents and Setting
阅读全文
posted @ 2016-03-24 14:13
Avatarx
摘要:首先,在SQL SEVER里建立一个名为“Exercise”的数据库名,在该数据库下建立一张名为“lianxi”的表。好,现在开始写代码。 在FORM1里拖一个DATAGIRDVIEW用于显示表,在放一个BUTTON用于执行操作。加入命名空间 using system.data.sqlclient;
阅读全文
posted @ 2016-03-24 13:58
Avatarx
摘要:using System.Data;using System.Data.SqlClient;//先打开两个类库文件SqlConnection con = new SqlConnection(); // con.ConnectionString = "server=505-03;database=tt
阅读全文
posted @ 2016-03-24 13:56
Avatarx
摘要:一、StackPanelStackPanel是以堆叠的方式显示其中的控件1、可以使用Orientation属性更改堆叠的顺序Orientation="Vertical"默认,由上到下显示各控件。控件在未定义的前提下,宽度为StackPanel的宽度,高度自动适应控件中内容的高度 1: 2: But...
阅读全文
posted @ 2015-12-01 16:35
Avatarx
摘要:direct3D只是directX其中一个增强功能DirectX是由很多API组成的,按照性质分类,可以分为四大部分,显示部分、声音部分、输入部分和网络部分。显示部分担任图形处理的关键,分为DirectDraw(DDraw)和Direct3D(D3D),前者主要负责2D图像加速。它包括很多方面:我们...
阅读全文
posted @ 2015-11-30 13:47
Avatarx
摘要:3.1 使用ThreadStart委托这 里先以一个例子体现一下多线程带来的好处,首先在Message类中建立一个方法ShowMessage(),里面显示了当前运行线程的Id,并使用 Thread.Sleep(int ) 方法模拟部分工作。在main()中通过ThreadStart委托绑定Messa...
阅读全文
posted @ 2015-11-27 16:27
Avatarx
摘要:小序:上篇里,我们把Attribute“粘”在类的成员方法上show了一把,让Attribute跟大家混了个脸儿熟。中篇里,我们将探讨“究竟什么是Attribute”和“如何创建及使用Attribute”这两个问题。准备好了吗?Let’s go! 正文:从上篇里我们可以看到,Attribute似乎总...
阅读全文
posted @ 2015-11-27 13:14
Avatarx
摘要:原始出处、作者信息和本声明。否则将追究法律责任。http://liutiemeng.blog.51cto.com/120361/29201小序: 注意:本次小序颇长而且没什么正事儿,建议大家直接跳到正文,以免浪费宝贵时间:)积水潭桥旁的物美大卖场有两层——B1和B2。B1卖电器和日用品(概括起来说就...
阅读全文
posted @ 2015-11-27 12:49
Avatarx
摘要:可以有多个Main()函数,这样写:namespace ConsoleApp1{class Program{static void Main(string[] args){Console.WriteLine("Program");Console.ReadKey();}}class Program1{...
阅读全文
posted @ 2015-11-26 18:13
Avatarx
摘要:https://msdn.microsoft.com/library/yt3yck0x.aspx使用#define定义符号。当您将符号用作传递给#if指令的表达式时,此表达式的计算结果为true,如下例所示:#defineDEBUG备注注意不能像在 C 和 C++ 中的通常做法一样,使用#defin...
阅读全文
posted @ 2015-11-26 17:08
Avatarx
摘要:enums枚举是值类型,数据直接存储在栈中,而不是使用引用和真实数据的隔离方式来存储。(1)默认情况下,枚举中的第一个变量被赋值为0,其他的变量的值按定义的顺序来递增(0,12,3...),因此以下两个代码定义是等价的:[csharp]view plaincopyenumTrafficLight{G...
阅读全文
posted @ 2015-11-26 16:55
Avatarx
摘要:dynamic和var的区别:1.var声明一个局部变量只是一种简化语法,它要求编译器根据一个表达式推断具体的数据类型。2.var只能用于声明方法内部的局部变量,而dynamic可用于局部变量,字段,参数。3.表达式不能转型为var,但能转型为dynamic。4.必须显式初始化用var声明的变量,但...
阅读全文
posted @ 2015-11-26 16:08
Avatarx

浙公网安备 33010602011771号