随笔分类 - c#
摘要:学习c#已经快一个学期,在这一段时间里,通过自己的努力和老师指导,自己感觉收获颇丰,所以我想把自己学到东西整理一下,供大家点评!若有错误或不当之处,敬请指出。 今天,我先从类及其构成说起!1、 类的基本格式为: class 类名 { //类成员; }2、类函数成员: 《1》构造函数:构造函数名必须与类同名。若定义的类中不存在构造函数,则c#编译器会自动生成一个默认的构造函数(该构造函数,无返回值和参数,并不做任何操作)。对于构造函数,我们需要注意一点的是:我们都知道任何类都默认继承object类,当我们写一个构造函数的时候,编译器会做些小动作。例如我们定义了一个构造函数为public voi.
阅读全文
摘要:代码下载位置: NETMatters2007_10.exe (156 KB) Browse the Code Online 问:我在应用程序中使用锁来同步一组线程上的工作。不幸的是,由于我的不正确操作,我的线程有时似乎会停止工作。我想我是遇上了死锁,但我不清楚如何找到它们。有没有办法通过编程来找到它们?我希望遇到死锁时能引发异常。问:我在应用程序中使用锁来同步一组线程上的工作。不幸的是,由于我的不正确操作,我的线程有时似乎会停止工作。我想我是遇上了死锁,但我不清楚如何找到它们。有没有办法通过编程来找到它们?我希望遇到死锁时能引发异常。首先,重要的是要理解什么是线程中的死锁,以及导致死锁的条件。
阅读全文
摘要:一、先说一下Datarow的结构(如图所示): 图1二、DataRow.rowstate属性的改变(判断rowstate的依据是datarow中original,current和proposed的指向是否为NULL以及他们所指向的对象是否相同)1、创建一个新的datarowdatarow row=tb.newrow();//tb包含两列:ID(自增,int类型);Name(string类型)row["Name"]="xiao";此时产生的新行还没有进入tb的行集合中,row.rowstate的值为:Detached(表示该行不是datatable的一个成
阅读全文
摘要:今天下午,看了一些关于聚集索引和非聚集索引的知识,现在把它整理出来。一、准备知识:不论是 聚集索引,还是非聚集索引,都是用B+树来实现的。我们在了解这两种索引之前,需要先了解B+树。如果你对B树不了解的话,建议参看以下几篇文章:B+ 树的结构图:B+ 树的特点:所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的;不可能在非叶子结点命中;非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据的数据层;二、举个通俗的例子来说明聚集索引和非聚集索引的区别:汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为
阅读全文
摘要:1、与字符相关的问题模式匹配LIKE 关键字搜索与指定模式匹配的字符串、日期或时间值。有关详细信息,请参阅数据类型 (Transact-SQL)。LIKE 关键字使用常规表达式包含值所要匹配的模式。模式包含要搜索的字符串,字符串中可包含四种通配符的任意组合。通配符含义%包含零个或多个字符的任意字符串。_任何单个字符。[ ]指定范围(例如 [a-f])或集合(例如 [abcdef])内的任何单个字符。[^]不在指定范围(例如 [^a - f])或集合(例如 [^abcdef])内的任何单个字符。请将通配符和字符串用单引号引起来,例如:LIKE 'Mc%' 将搜索以字母 Mc 开头
阅读全文
摘要:1、sql server2005支持两种与日期和时间相关的数据类型:Datetime和SmallDatetime。2、时间类型的存储:Microsoft SQL Server 2005 Database Engine用两个 4 字节的整数内部存储 datetime 数据类型的值。 第一个 4 字节存储“基础日期”(即 1900 年 1 月 1 日)之前或之后的天数。基础日期是系统参照日期。另外一个 4 字节存储天的时间(以午夜后经过的毫秒数表示)。smalldatetime 数据类型存储天的日期和时间,但精确度低于 datetime。数据库引擎将 smalldatetime 值存储为两个 2
阅读全文
摘要:1、数据库中的数据类型不区分值类型和引用类型。2、处理Null值对于从包含null值的列中获取数据,可以有两种方法在访问它之前检测他。DBNull.Value如果数据库值为null,它将被设置为DBNull.Value。例子如下: while (rd.Read ()) { object t = rd[0]; if(t!=DBNull .Value ) Console.WriteLine("{0}",(int)rd [0]); }使用IsDBNull方法SqlDataReader公开一个IsDBNull方法。在提取一个列的内容之前,使用这一方法来确定此列中是否包含Null值。
阅读全文
摘要:可以使用 SQL Server Profiler来创建模板,定义要包含在跟踪中的事件类和数据列。定义并保存模板后,可以运行跟踪来记录每个选定事件类的数据。您可以将一个模板用于多个跟踪;模板本身并不会执行。SQL Server Profiler提供了预定义的跟踪模板,使您可以轻松配置特定跟踪可能最需要的事件类。例如,Standard 模板可帮助您创建通用跟踪,用于记录登录、注销、已完成的批处理和连接信息。您可以使用此模板来运行跟踪而无需修改,也可以基于该模板创建具有不同事件配置的其他模板。注意:除了通过预定义模板进行跟踪以外,SQL Server Profiler还允许您从空模板(默认情况下不包
阅读全文
摘要:c#网络编程(一)c#网络编程也是我这学期学习的重点,虽然现在知道的网络知识很少,我会努力的,↖(^ω^)↗一、四种IP广播地址受限的广播 受限的广播地址是255.255.255.255。该地址用于主机配置过程中IP数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也不知道。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。 一个未解的问题是:如果一个主机是多接口的,当一个进程向本网广播地址发送数据报时,为实现广播,是否应该将数据报发送到每个相连的接口上?如果不是这样,想对主机所有接口广播的应用必须确定主机中支持广播..
阅读全文
摘要:事务的提交模式(事务的持久特性):1、自动提交模式(一条sql语句就是一个事务 ) 2、显示提交模式(要求程序员显示添加begin tran和commit tran/rollback tran,中间添加任意多sql语句) 3、隐式提交模式(begin tran是由dbms发的,commit tran/rollback tran是由程序员显示添加,中间可以添加任意多sql语句,也就是说commit tran/rollback tran的下一句就是一个新事务的开始)注:在ADO.NET中仅支持自动提交模式(默认模式)和显示提交模式)在编程中需要考虑的并发冲突有:1、脏读:读取未提交的数据。一个进程
阅读全文
摘要:摘自:msdn连接到数据库服务器通常由几个需要很长时间的步骤组成。必须建立物理通道(例如套接字或命名管道),必须与服务器进行初次握手,必须分析连接字符串信息,必须由服务器对连接进行身份验证,必须运行检查以便在当前事务中登记,等等。实际上,大多数应用程序仅使用一个或几个不同的连接配置。这意味着在执行应用程序期间,许多相同的连接将反复地打开和关闭。为了使打开的连接成本最低,ADO.NET 使用称为连接池的优化方法。连接池减少新连接需要打开的次数。池进程保持物理连接的所有权。通过为每个给定的连接配置保留一组活动连接来管理连接。只要用户在连接上调用 Open,池进程就会检查池中是否有可用的连接。如果某
阅读全文
摘要:首先,我们要做一些准备工作:第一、如何修改数据库的服务器名字最近要在SQL Server 2008上做数据库复制的实验,需要用到两台服务器,所以我需要同时开2个虚拟机(VPC),当然我不可能去单独安装2个SQL Server,安装过程太费时了,所以我是在一个虚拟机中安装了SQL2008,然后将该虚拟机文件复制了一个出来,然后还原成另外一个虚拟机,这样我就可以同时使用2个虚拟机来做复制的实验了。我先在虚拟机SQL2008RC0中安装了Windows2003操作系统,机器名为MS-ZY,然后安装SQL Server 2008,所以数据库的服务器名也就是MS-ZY。接下来复制过去还原成虚拟机SQL2
阅读全文
摘要:多维数组的三种技术:安全数组访问技术、安全交错数组访问技术和非安全指针访问技术。时间 = 数组生成时间 + 数组元素访问时间1、安全数组访问技术:创建较快,访问最慢 安全数组访问技术最慢。无专用的IL指令。 安全数组对象生成速度较快,数组的空间是连续的,产生的垃圾少。 结论: 如果需要创建大量多维数组,而且并不想频繁地访问这些元素,创建多维数组更快一些。2、安全交错数组访问技术:创建较慢,访问较快 交错数组访问技术较快。因为有专用的1维0基数组的IL指令。 交错数组对象生成速度慢,数组的空间是不连续的,产生的垃圾多。 结论: 如果只需要创建一次多维数组,而且要频繁地访问该数组中的元素,交错数组
阅读全文
摘要:using System;namespace Reflection{ publicclassMyClass { publicstring MyField; publicvoid MyMethod() { Console.WriteLine("调用MyMethod! MyField: {0}", MyField); } publicvoid MyMethod(string param) { Console.WriteLine("调用MyMethod! MyField: {0}. 参数: {1}", MyField, param); } }}using Sy
阅读全文
摘要:1.首先我们看下IEnumerable接口定义: namespace System.Collections { // Summary: // Exposes the enumerator, which supports a simple iteration over a non-generic // collection. [ComVisible(true)] [Guid("496B0ABE-CDEE-11d3-88E8-00902754C43A")] public interface IEnumerable { // Summary: // Returns an enum
阅读全文
posted @ 2010-02-02 18:47
燃烧吧,少年

浙公网安备 33010602011771号