c#学习总结(一)---Mr.Zhang

一、DialogResult 枚举
指定标识符以指示对话框的返回值。
命名空间: System.Windows.Forms
OK     对话框的返回值是 OK(通常从标签为“确定”的按钮发送)。
Cancel 对话框的返回值是 Cancel(通常从标签为“取消”的按钮发送)。
Abort  对话框的返回值是 Abort(通常从标签为“中止”的按钮发送)。 
Retry  对话框的返回值是 Retry(通常从标签为“重试”的按钮发送)。 
二、HttpWebRequest
1)HttpWebRequest.Address 属性
获取“实际 ”响应请求的 Internet 资源的统一资源标识符 (URI)。
在请求完成期间发生的任何重定向之后,Address 属性被设置为该 URI。原始请求的 URI 保留在 RequestUri属性中。
例:bool hasChanged = (req.RequestUri != req.Address);代码示例检查 HttpWebRequest 对象 req 是否已重定向到另一个   位置以实现请求:如果重定向了请求,则将 hasChanged 变量的值设置为 true;否则,将 hasChanged 设置为 false。
2)http标头
HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST)。如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说Content-Length必须出现。
三、WebClient
1)WebClient类提供用于将数据发送到由 URI 标识的资源及从这样的资源接收数据的常用方法。
2)WebClient .DownloadFile 方法 (Uri, String)将具有指定 URI 的资源下载到本地文件。此方法在下载资源时阻止。若要下载资源并在等待服务器响应的同时继续执行,请使用 DownloadFileAsync 方法之一。
3)WebClient .OpenRead 方法 (Uri)
为从具有Uri指定的URI的资源下载的数据打开一个可读的流 。
命名空间:   System.Net
以带有颜色区分的格式查看复制到剪贴板打印Public Function OpenRead ( _
public Stream OpenRead(Uri address)  虽然是Stream类型但属于WebClient类的方法,该方法就是打开一个可读流,因此是Stream类型。
四、StreamReader
1)实现一个 TextReader(表示可读取连续字符系列的读取器),使其以“一种特定的编码”(这是和Stream不同之处)从字节流中读取字符。
2)Read方法
读取输入流中的下一个字符并使该字符的位置提升一个字符。
五、Exception .ToString 方法
ToString 的默认实现获取引发当前异常的类名、消息、对内部异常调用 ToString 的结果和调用 Environment .StackTrace 的结果。
例如:
using namespace System;
public ref class MyClass{};

int main()
{
   MyClass^ my = gcnew MyClass;
   String^ s = "sometext";
   try
   {
      int i = s->CompareTo( my );
   }
   catch ( Exception^ e )
   {
      Console::WriteLine( "Error: {0}", e->ToString() );
   }

}

此代码的输出如下:
以带有颜色区分的格式查看复制到剪贴板打印Error: System.ArgumentException: Object must be of type String. at System.String.CompareTo(Object value) at ArgExceptionExample.Main()
六、FileStream类
1)命名空间:System.IO
 公开"以文件为主"(其实图片的保存形式也是FileStream流型)的 Stream,既支持同步读写操作,也支持异步读写操作。
2)构造函数
public FileStream(
    IntPtr handle,
    FileAccess access
)
参数
handle
类型: System .IntPtr
当前 FileStream 对象将封装的文件的文件句柄。
access
类型: System.IO .FileAccess
一个常数,用于设置 FileStream 对象的 CanRead 和 CanWrite 属性。
3)Write方法
使用从缓冲区读取的数据将字节块写入该流。(重写 Stream .Write( array<Byte []()>[], Int32, Int32) 。)
public override void Write(
    byte[] array,
    int offset,
    int count
)
参数
array
类型: array<System ..::.Byte []()>[]
包含要写入该流的数据的缓冲区。
offset
类型: System ..::.Int32
array 中的从零开始的字节偏移量,从此处开始将字节复制到当前流。
count
类型: System ..::.Int32
要写入当前流的字节数。
七、StatusBar(一般可以制作状态条、进度条)
命名空间:
System.Windows.Controls.Primitives
StatusBar 是位于窗口底部的水平区域,应用程序可在其中显示状态信息。
八、Byte 结构(字节类型)
表示一个 8 位无符号整数。
九、Stream类
1)命名空间: System.IO
   提供字节序列的一般视图。
2)Read方法
当在派生类中重写时,从当前流读取字节序列,并将此流中的位置提升读取的字节数。
public abstract int Read(
    byte[] buffer,
    int offset,
    int count
)
参数
buffer
类型: array<System ..::.Byte []()>[]
字节数组。
此方法返回时,该缓冲区包含指定的字符数组,该数组的 offset 和 ( offset + count -1) 之间的值由从当前源中读取的字节替换。
offset
类型: System ..::.Int32
buffer 中的从零开始的字节偏移量,从此处开始存储从当前流中读取的数据。
count
类型: System ..::.Int32
要从当前流中最多读取的字节数。
返回值
类型: System ..::.Int32
读入缓冲区中的总字节数。
如果当前可用的字节数没有请求的字节数那么多,则总字节数可能小于请求的字节数;如果已到达流的末尾,则为零 (0)。
十、c#运行错误
1)错误 1 无法将文件“obj\Debug\download.exe”复制到“bin\Debug\download.exe”。文件“bin\Debug\download.exe”正由另一进程使用,因此该进程无法访问该文件。一般此错误是由你没有关闭运行的exe文件。vs2008中没有vs2010中的运行了会禁止再次进行新的调试除非停止调试。
2)错误 2   关于打开一个sln解决方案,提示:无法读取项目文件"***.csproj".系统找不到指定文件.的搜索
打开一个sln解决方案,提示:无法读取项目文件"***.csproj".系统找不到指定文件. 这是什么错误呢?我看了下路径都是对的. 这是为什么呢?(一般来说你没安装。net Framwork或者IIS没装Web服务造成的)
直接点"***.csproj"打开,然后再另存个新的sln 有可能是你的WebService没设好。或者是你拷贝了人家的Proj,IIS里没有追加Web服务 建议你自己先建立一个IIS服务 如果是B/S的解决方案,还要注意.sln文件的内容,可以用文本编辑器打开该文件,找到Web项目所在的URL,看是否对应,假设此处不能对应的话,经常会出现刚才你出现的问题。
3)有时打开视图设计器时会提示:已有一个项目打开该文档了

解决方案:把代码编辑环境关闭,重新打开试图设计模式。
十一、BackgroundWorker 类
注:(在单独的线程上执行操作。)
命名空间:   System.ComponentModel
程序集:   System(在 System.dll 中)

 

 

 

 

C#中的各种名词: 常数:声明时用const修饰,是隐式静态类型 域:一个代表和某对象或类相关的变量的成员 字段:和属性相同,是用来存储对象的值,可以直接访问数据且不能对数据添加任何限制,但是属性不能且可以对数据添加访问限制。一个在类或结构的定义中声明的变量。可以被这个类或者结构的所有成员函数(方法、构造函数)使用,可以是值类型或引用类型,主要有实例字段和静态字段。区别于局部变量在于局部变量只能被给定的函数或代码块使用 属性:一种用于访问对象或类的特性的成员。属性的访问器是一种使属性可以像公共数据成员一样被使用的特殊方法(get/set方法)。属性结合了字段和方法的多个方面,对于对象的用户,它显示为字段;对于类的实现者,它是一个或两个代码块(用于表示get/set访问器)。写类的时候使用System.Serializable属性以便使类的成员可以序列化 方法:是一种用于实现可以由对象或类执行的计算或操作的成员。类的方法主要是和类相关联的动作,它是类的外部界面,对于那些私有的字段来说,外部界面实现对它们的操作一般只能通过方法来实现。方法在类或结构中声明,声明时需要制定访问级别、返回值、方法名称及方法参数。一个方法的签名由它的名称以及它的形参的个数、修饰符和类型组成。方法的签名是方法的唯一标识(同一个类中的区别标识)。 方法的重载:是指方法名相同,但参数类型、个数或顺序不同的方法,与返回值无关(同一类或子类之间) 方法的重写:子类对父类方法的重新实现(方法头相同,方法体即代码块不同) 事件:是使得对像和类提供通知的成员。一个类通过提供事件声明来定义一个事件,这看起来与域和事件声明相当类似,但是有一个event关键字。这个声明的类型必须是delegate类型。如下例子: public delegate void EventHandler(object sender, Event e); public class Button { public event EventHandler Click; public void Reset() { Click = null; } } 索引:是使得对象可以像数组一样被索引的成员 结构:一种值类型,几个数据组成的数据结构。向方法传递结构时,是通过传值方式传递的,结构实例化可以不用new,结构可以声明构造函数,但必须带参数,且声明的构造函数是用来对成员初始化的,必须包含每个字段。结构不能从另一个结构或类继承而来,但可以实现接口,结构中不能初始化实例。结构存储在栈中且只用来表示小的数据结构,类存储在托管堆中 类:是一种数据结构,是具有相同或相似结构、操作和约束规则的对象组成的集合。算法和数据结构的集合(对象),具有封装、继承、多态等特点。父类—基类、子类—派生类。类的多态是指不同的类进行同一操作可以有不同的行为。类是相同对象的集合,并为这些对象定义了编程语言上的属性和方法。类修饰符:new在类声明时使用,public公共的,访问不受限,protected只能从其所在类和所在类的子类中进行访问,internal只有其所在类才能进行访问,private私有的,abstract抽象类,不能实例化,sealed密封类,不能被继承 虚拟成员:声明为virtual的类成员 析构函数:以类名+~来命名的,不能有参数,不能有任何修饰符而且不能被调用。当某个类的实例被认为不再有效并符合析构条件时,.NET Framework类库的垃圾回收功能就会调用该类的析构函数实现垃圾回收,一个类只能有一个析构函数。一般准则是,除非有迫不得已的原因,不要使用析构函数,而应把清楚操作交给运行时完成 接口:声明的所有成员隐式的为public和abstract。在命名空间中声明的接口可以被授予public或internal访问类型。嵌套的接口可以被授予public、protected、internal、protected internal或private访问类型。默认为internal.接口的成员隐式的被声明为public和abstract访问类型且没有实现没有修饰符 密封类:密封类不能作为基类被继承,但可以继承别的类或接口,密封类中不能声明受保护的成员或虚成员,密封类不能声明为抽象的,声明密封类用sealed.密封方法只能用于对基类的虚方法进行实现,声明密封方法时同时使用sealed和override且必须通过重写基类中的虚方法来实现 名称空间:类似java中的包 集合: 代表: 访问修饰符:private、public、protected、internal:局部的 readonly:只读修饰符 new(新的)、static(静态的)、virtual(虚拟的)、override()、sealed(密封的)、abstranct(抽象的)、extern(外面的) 派生类调用基类的方法可以使用base关键字,如base.Method();
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值