C#编程经验-文件(流)处理工具类工具类总结
@TOC
前言搞编程的,在工作中学习中,文件及文件流操作很常见,每次需要手动关闭流,何不封装一下呢,与诸君共勉。
一、处理文件的通用函数UniversalFileProcess()1.处理文件的通用函数UniversalFileProcess(),只要传入文件路径和处理文件的具体代码,这个方法就会自动完成异常处理和关闭文件的操作123456789101112131415161718192021222324252627282930 /// <summary>/// 处理文件的通用函数UniversalFileProcess(),只要传入文件路径和处理文件的具体代码,这个方法就会自动完成异常处理和关闭文件的操作/// </summary>/// <param name="path"></param>/// <param name="doSmoething" ></param> 把处理文件的具体代码封装在doSomething()函数中public static void Uni ...
C#编程经验/遇到陷阱总结(一)
@TOC
前言搞编程的,在工作中学习中,除了培养好的代码习惯、养成自己的一套代码风格,还需要多思考如何把代码写的更健壮,碰到bug如何去调试呢,与诸君共勉。
一、经验总结(未完待续…)1.面向对象中子类向父类的转换中存在的一个陷阱
将子类对象引用的地址赋值给父类,此时C#规定父类引用是调用不了子类独有的方法的
123456789class Program{ static void Main(string[] args) { //Teacher是Human的子类,虽然此时把t的引用赋值给了h,也就是把t中的Teacher对象的地址赋值给了h,但是此时h调用不了t独特的方法,这是C#规定的 Teacher t = new Teacher(); Human h = t; }}
2.数据库调用存在的陷阱
涉及到数据库的CRUD时,不应该把DataTime.Now这个带时区的存进数据库,应该把不带时区的数据存入数据库,所以应该使用DataTime.UtcNow
3.委托使用的注意事项
委托跟方法调用有区别,比如calcu ...
C#代码命名规范(一)
@TOC
前言搞编程的,在工作中学习中,培养好的代码习惯、养成自己的一套代码风格,还是比较重要的,与诸君共勉。
一、帕斯卡命名法+驼峰命名法写代码时或者Code Review时多多参考:帕斯卡命名法/拼写法【https://learn.microsoft.com/zh-cn/dotnet/csharp/fundamentals/coding-style/coding-conventions】
1.命名接口interface时,使用 pascal 大小写并在名称前面加上前缀 I。 这可以清楚地向使用者表明这是 interface。比如IWorkerQueue2.使用帕斯卡大小写
编写位置记录时,对参数使用 pascal 大小写,因为它们是记录的公共属性
命名类型的 public 成员(例如字段、属性、事件、方法和本地函数)时,使用 pascal 大小写
命名class、record、struct时,使用pascal 大小写(“PascalCasing”)
3.驼峰:
命名 private 或 internal 字段时,使用驼峰式大小写(“camelCasing”),以 _ ...
