C#小知识摘捡(后期再慢慢学习)

哈希表的 Map 接口的实现与哈希表区别)HashMap与HashTable的区别

1.hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。
2.hashTable同步的,而HashMap是非同步的,效率上逼hashTable要高。
3.hashMap允许空键值,而hashTable不允许。

Hashtable 内的每一组对象就是一个DictionaryEntry 

例如我们要循环hashtable获取里面的内容时
foreach (DictionaryEntry de in myHashtable) {...}

存储过程:

什么是存储过程:存储过程就是固化在SQL数据库系统内部的SQL语句,这样做的好处是可以提高执行效率、提高数据库的安全性、减少网络流量。

下面是示例代码,可以清晰的get到存储过程的概念

  1. string strsql = "Data Source=192.168.24.53;Initial Catalog=JF_Charging_System;Persist Security Info=True;User ID=sa;Password=1";//数据库链接字符串  
  2. string sql = "myinsert";//要调用的存储过程名  
  3. SqlConnection conStr = new SqlConnection(strsql);//SQL数据库连接对象,以数据库链接字符串为参数  
  4. SqlCommand comStr = new SqlCommand(sql, conStr);//SQL语句执行对象,第一个参数是要执行的语句,第二个是数据库连接对象  
  5. comStr.CommandType = CommandType.StoredProcedure;//因为要使用的是存储过程,所以设置执行类型为存储过程  
  6. //依次设定存储过程的参数  
  7. comStr.Parameters.Add("@username", SqlDbType.VarChar, 10).Value = "11";  
  8. comStr.Parameters.Add("@password", SqlDbType.VarChar, 10).Value = "11";  
  9. comStr.Parameters.Add("@name", SqlDbType.VarChar, 10).Value = "11";  
  10. comStr.Parameters.Add("@usertype", SqlDbType.VarChar, 10).Value = "11";  
  11. comStr.Parameters.Add("@createpeople", SqlDbType.VarChar, 10).Value = "11";  
  12. conStr.Open();//打开数据库连接  
  13. MessageBox.Show(comStr.ExecuteNonQuery().ToString());//执行存储过程  
  14. conStr.Close();//关闭连接  

在避免装箱操作中,使用.Tostring()可以避免装箱;

原文地址:https://www.cnblogs.com/backpacker-lzf/p/4679201.html