C#编程常用函数:MD5、SHA1与性能优化

需积分: 6 1 下载量 25 浏览量 更新于2024-10-22 收藏 2KB TXT 举报
本文将介绍C#中的一些常用函数,包括MD5和SHA1散列函数的使用,字符串操作,转换方法以及获取系统信息的方法。此外,还将提及如何枚举网络适配器的MAC地址,并展示一个简单的继承示例。 在C#编程中,我们经常需要对数据进行加密或散列处理,MD5和SHA1是常见的散列算法。在.NET Framework 1.1及更高版本中,可以使用`System.Web.Security`命名空间中的`FormsAuthentication`类来生成MD5或SHA1散列值。例如,以下代码将源字符串SrcStr转换为MD5或SHA1散列,并返回小写形式: ```csharp using System.Web.Security; string srcStr = "your-source-string"; string md5Hash = FormsAuthentication.HashPasswordForStoringInConfigFile(srcStr, "MD5").ToLower(); string sha1Hash = FormsAuthentication.HashPasswordForStoringInConfigFile(srcStr, "SHA1").ToLower(); ``` 在处理字符串时,C#提供了多种操作方式。例如,可以直接通过`+`操作符连接字符串,如`Strings2 = "hello" + "world";`。然而,如果需要多次连接字符串,使用`StringBuilder`类更为高效,因为它在内存管理上更为优化: ```csharp string s2 = "hello"; s2 += "world"; s2 += "!!!"; StringBuilder s3 = new StringBuilder(); s3.Append("hello"); s3.Append("world"); s3.Append("!!!"); string result = s3.ToString(); ``` 对于数字和字符串之间的转换,`ToString()`方法可以将整型变量转换成字符串,如`int i = 3; string strI = i.ToString();`。相反,`Double.Parse()`方法可以将字符串解析为双精度浮点数,如`double d = Double.Parse(strI);`。 获取应用程序的启动路径或当前目录,可以使用以下代码: ```csharp string applicationStartupPath = Application.StartupPath; string currentDirectory = System.Environment.CurrentDirectory; ``` 要获取MAC地址,可以利用`System.Management`命名空间中的`ManagementObjectSearcher`类枚举网络适配器配置: ```csharp using System.Management; static void EnumNetworkAdapters() { ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration"); ManagementObjectCollection queryCollection = query.Get(); foreach (ManagementObject mo in queryCollection) { Console.WriteLine("MacAddress\t{0}", mo["MacAddress"]); } } ``` 最后,这是一个简单的C#继承示例,展示了如何创建一个名为`Foo`的子类,它继承自一个名为`Bar`的基类: ```csharp using System; namespace MySpace { public class Bar { // 基类定义 } public class Foo : Bar { int x; public Foo() { x = 4; } public void Add(int x) { this.x += x; } } } ``` 以上就是C#中一些常用的函数和操作,它们在日常开发中非常实用。