.net中的一些概念

.net中的一些概念

一.AppDomain

Represents an application domain, which is an isolated environment where applications execute. This class cannot be inherited.

应用程序运行的跟目录,比如如果是debug模式下,则指的是Debug文件夹

二.CLR

CLR常用简写词语,CLR是公共语言运行时,Common Language Runtime)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离

三.SHA1CryptoServiceProvider

.NET Framework 4 

使用加密服务提供程序 (CSP) 提供的实现计算输入数据的 SHA1 哈希值。 此类不能被继承。用来获得加密的hash值

/// <summary>
        /// 获取加盐的散列值
        /// </summary>
        /// <param name="paraTohash">要HASH的字符</param>
        /// <returns></returns>
        public static string GetSaltedHash(string paraTohash)
        {
            if (paraTohash == null || paraTohash == "")
            {
                throw new Exception(@"GetSaltedHash的参数不能为NULL或""");
            }
            string salt = "fgagagagag";
            string strToHash = salt + paraTohash;
            byte[] strBytes = Encoding.Default.GetBytes(strToHash);

            SHA1CryptoServiceProvider shaHash = new SHA1CryptoServiceProvider();
            byte[] hash = shaHash.ComputeHash(strBytes);
            return Convert.ToBase64String(hash);
        }

  四、DBNull 类

数据库中的NULL

      在数据库应用程序中,空对象是字段的有效值。该类区分空值(空对象)和未初始化值(DBNull.Value 实例)。例如,表可以包含具有未初始化字段的记录。默认情况下,这些未初始化字段具有 DBNull 值。

五、Hashtable 类

 

每个元素都是一个存储在 DictionaryEntry 对象中的键/值对。 键不能为 null,但值可以。


只要键对象用作 Hashtable 中的键,它们就必须是永远不变的。


当把某个元素添加到 Hashtable 时,将根据键的哈希代码将该元素放入存储桶中。 该键的后续查找将使用键的哈希代码只在一个特定存储桶中搜索,这将大大减少为查找一个元素所需的键比较的次数。


Hashtable 的加载因子确定元素与存储桶的最大比率。 加载因子越小,平均查找速度越快,但消耗的内存也增加。 默认的加载因子 1.0 通常提供速度和大小之间的最佳平衡。 当创建 Hashtable 时,也可以指定其他加载因子。


当向 Hashtable 添加元素时,Hashtable 的实际加载因子将增加。 当实际加载因子达到指定的加载因子时,Hashtable 中存储桶的数目自动增加到大于当前 Hashtable 存储桶数两倍的最小质数


Hashtable 中的每个键对象必须提供其自己的哈希函数,可通过调用 GetHash 访问该函数。 但是,可将任何实现 IHashCodeProvider 的对象传递到 Hashtable 构造函数,而且该哈希函数用于该表中的所有对象。


Hashtable 的容量是 Hashtable 可拥有的元素数。 随着向 Hashtable 中添加元素,容量通过重新分配按需自动增加。


C# 语言中的 foreach 语句需要集合中每个元素的类型。 由于 Hashtable 的每个元素都是一个键/值对,因此元素类型既不是键的类型,也不是值的类型。 而是 DictionaryEntry 类型

六、DictionaryEntry 结构

定义可设置或检索的字典键/值对

 

你可能感兴趣的:(.net)