C#視窗程式設計:字串處理與物件釋放

需积分: 0 2 下载量 25 浏览量 更新于2024-08-23 收藏 1.01MB PPT 举报
本资源提供了一个C#编程的实践示例,主要涉及窗口程序设计,具体涵盖字符串操作、哈希表(Hashtable)的使用、数据解析以及对象的释放与删除。教师黄圣方提供了课堂补充资料,讲解了如何在.NET框架下进行高效编程。 在示例代码中,程序首先创建了一个`Hashtable`实例,并通过`do-while`循环不断接收用户输入的字符串。如果输入的字符串已经在哈希表中,程序会读取对应的`MyItem`对象并调用`Plus()`方法增加计数,然后显示重复次数。若字符串首次出现,程序则创建一个新的`MyItem`对象并将其添加到哈希表中。这个例子展示了哈希表作为快速查找数据结构的用法,以及自定义对象作为值存储的场景。 接着,资源提到了字符串的处理,包括使用`string.Format`进行格式化输出。例如,将多个变量合并成一个字符串,这里将`s1`、`s2`和整数`i`插入到格式化的字符串中。同时,资源讨论了如何解析字符串。`Parse`方法可以将字符串转换为特定类型,但示例指出它只能根据单个空格进行分割,可能无法处理多空格的情况。 为了解决这个问题,资源引入了正则表达式来更灵活地解析字符串。通过`System.Text.RegularExpressions.Regex`类,可以使用正则表达式匹配模式,从而能根据多个连续的空格或特定字符进行分割。在这个例子中,正则表达式`"\+"`匹配一个或多个连续的空格。 最后,资源简要介绍了对象的释放与删除。C#中没有像C++那样的`delete`关键字,而是依赖于垃圾回收(Garbage Collection)机制自动管理内存。当对象不再被引用时,垃圾回收器会自动调用解构器(Destructor)释放资源。解构器的命名规则是波浪线`~`加上类名,且无参数,不适用于访问修饰符,因为它是为垃圾回收器设计的。结构体(struct)不能拥有解构器,因为它们是值类型。 总结来说,此资源涵盖了C#中的基本数据结构(如哈希表)、字符串操作、数据解析方法以及垃圾回收机制,这些都是.NET开发中常见的核心概念。学习者可以通过这个实例加深对这些概念的理解,并应用到自己的窗口程序设计中。