#20190621 C#学习笔记
1. 执行数据库excuse的时候出错:
Q:从索引 0 处开始,初始化字符串的格式不符合规范。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
A: 检查后发现sql语句没有错误,为数据库连接语句的错误,检查.exe.config文件发现add key配置出错。
2. c#中调用oracle数据库操作语句:
Q:使用string.Format直接加入参数{x索引},或者使用OracleParamter?
A: 使用OracleParamter较好,便于日后维护和字符类型的确定
3. c#使用参数:
Q:和Java类似,有时候使用魔法值不是个代码编写的好习惯,所以适当的使用config定义比较好
A:在app.config中加入(找不到app.config文件可以自行添加,vs自动编译)
<appSettings>
<add key="YourKey" value="YourValue"/>
</appSettings>
并且在使用的时候
ConfigurationSettings.AppSettings["YourKey"];
就可以得到value
数据库的连接也可以用这种方式进行配置,记得在connect.ini文件中进行数据库的配置
4. C#的线程使用:
Q:使用线程的场景
A:目前唯一使用线程居然是windows服务,调用方法如下:
Thread t = new Thread(() =>
{
//DO SOMETHING
});
t.IsBackground = true;
t.Start();
注意线程调用的时候都是无序的,如果要有序必须添加lock
5. 调用接口interface
Q:一开始调用interface觉得不可思议,完全绕了大弯不如直接调用service,但是知道了如何使用后还是觉得有存在的意义的
A:调用方式如下
1)写service 把需要的方法放入interface中,只用申明方法头(注意不要定义public)
2)生成dll ,项目引用,然后直接调用yourDao即可
YourInterface yourDao = new YourSerivce();