好久没写了,今天草草写点没来得及整理。
结构和类的区别及使用范围:
在内存中存储的方式:
类是存储在堆(heap)上的引用类型,而结构是存储在堆栈(stack)上的值类型。
访问方式和一些特征(结构是不支持继承的)。语法上结构和类很相似区别在于关键字:
结构(struct)类(class)。
它们都是用关键字new来声明实例
结构的优点:较小的数据类型使用结构可以提高性能。
类成员
ref 和out关键字的应用要进一步学习应用。
方法重载
C#方法的重载,方法的几个有不同签名(方法名相同,但参数的个数和类型不同)。只需要同名但参数个数类型不同即可。
1. 两个方法不能仅在返回类型上有区别
2. 两个方法不能仅根据参数是声明为ref还是out来区别。
3. 虚方法:把一个基类函数声明为virtual,该函数就可以在派生类中重写了。
4. Override: base; abstract
2> 属性:
第六章
委托:要把方法传给其他方法时需要委托,委托它们的类型安全性比较高,(把委托当作给方法签名和返回类型指定名称)。
- 在程序中判断不为空时尽量用length,也就是通过字符串的长度进行判断。尽量避开null或者是“”来判断。
- GetFileCollection提供对客户端上载文件的访问,并组织这些文件。
- GetFileName 方法 从其获取文件名和扩展名的路径字符串。
- HttpPostedFile 成员 提供对客户端已上载的单独文件的访问。
- SqlDataAdapter 表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接。无法继承此类。
- SqlCommand 成员表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。无法继承此类。
- SqlDataReader 成员表示提供一种从 SQL Server 数据库读取行的只进流的方式。无法继承此类。
- Distinct: 通过使用默认的相等比较器对值进行比较返回序列中的非重复元素
- ICallbackEventHandler用于指示控件可以作为服务器上的回调事件的目标。
读取webconfig 配置文件中的值
String 变量 = System.Configuration.ConfigurationManager.AppSettings.Get("conStr")。
10. 使用 as 和 is 运算符安全地进行强制转换
由于对象是多态的,因此基类类型的变量可以保存派生类型。若要访问派生类型的方法,需要将值强制转换回该派生类型。不过,在这些情况下,如果只尝试进行简单的强制转换,会导致引发 InvalidCastException 的风险。这就是 C# 提供 is 和 as 运算符的原因。您可以使用这两个运算符来测试强制转换是否会成功,而没有引发异常的风险。通常,as 运算符更高效一些,因为如果可以成功进行强制转换,它会实际返回强制转换值。而 is 运算符只返回一个布尔值。因此,如果只想确定对象的类型,而无需对它进行实际强制转换,则可以使用 is 运算符。as 运算符用于在兼容的引用类型之间执行某些类型的转换