/**
* sortedList类可以对存进去的对象进行默认的排序,即其内的元素是按顺序排放的。
* 该测试程序,对文件中的单词进行简单的统计然后排序输出。
*/
using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.IO;
namespace WorldCount
{
class Program
{
static void Main( string[] args )
{
try
{
StreamReader sr = new StreamReader ( "word.txt" ); //创建输入流
SortedList sortedlist = new SortedList ( );//创建sortelist对象,该对象可以自动排序
char[] delimiter = new char[] { '~', '`', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', ',', ' ', '>', '<', '?', '/', '\\' };
string line;
int count = 0;
line = sr.ReadLine ( );
while ( line != null )
{
count++;
string[] temp = line.Split ( delimiter );
for ( int i = 0; i < temp.Length; i++ )
{
if ( !sortedlist.ContainsKey ( temp[i] ) ) //检测该list中是否有该字符
{
sortedlist.Add ( temp[i], 1 ); //如果数组中没有该单词加进去
}
else
{
int index = sortedlist.IndexOfKey ( temp[i] ); //取得指定键的索引 //如果有则更改单词的次数
int value = (int)sortedlist.GetByIndex ( index );//取得指定索引的值
value++;
sortedlist.SetByIndex ( index, value );
}
}
line = sr.ReadLine ( );
}
sr.Close ( );
Console.Write(count);
StreamWriter sw = new StreamWriter ( "result.txt" ); //打开输出流
for ( int i = 0; i < sortedlist.Count; i++ )
{
string temp = (string)sortedlist.GetKey ( i );
if ( temp == null || temp.Equals ( "" ) )
continue;
else
{
sw.WriteLine ( "{0} {1} ", sortedlist.GetKey ( i ), sortedlist.GetByIndex ( i ) );
}
}
sw.Close ( );
}
catch ( Exception e )
{
Console.WriteLine ( "Can not read!" );
Console.WriteLine ( e.Message );
}
Console.ReadKey ( );
}
}
}
分享到:
相关推荐
* ContainsValue(object value):判断某个值是否在该SortedList中 * IndexOfKey(object key):获取某个键的索引 * IndexOfValue(object value):获取某个值的索引 List类和SortedList类都是C#语言中非常重要的集合...
在C#编程中,列表(List)是一种常用的集合类,用于存储一组同类型的元素。当需要对列表中的元素进行随机排序时,可以采用多种方法。这里我们重点介绍一种基于`Random`类的方法,如标题和描述中所述。这种方法通过创建...
总结来说,要在C#中实现字典自动排序,可以通过转换为`List`并使用Linq的排序方法,或者使用内置的`SortedList`和`SortedDictionary`类。同时,根据用户输入实时更新排序结果,需要监听输入事件并进行相应的处理。在...
Dictionary, SortedDictionary, SortedList 是 .NET Framework 中三个支持泛型和关键字查找的类,它们都属于 System.Collections.Generic 命名空间。这些类在名字和功能上非常相似,以至于实际运用的时候我们会经常...
3. 使用VSTO打开第一个Excel文件,遍历每个工作表,读取每一行的数据,将其添加到SortedList中。由于SortedList自动排序,可以确保数据按照预期的顺序存储。 4. 接着,打开第二个Excel文件,同样遍历每个工作表,但...
### SortedList类详解 #### 一、概述 `SortedList` 类是一种集合类型,它能够存储键/值对,并按照键进行排序。这种数据结构结合了`Hashtable`和`Array`的特点,使得开发者可以根据键或者索引来访问元素,提供了更...
SortedList最合适对一列健/值对 进行排序,在排序时,是对键进行排序,SortedList 是 Hashtable 和 Array 的混合。当使用 Item 索引器属性按照元素的键访问元素时,其行为类似于 Hashtable。当使用 GetByIndex 或 ...
由于`SortedList`自动保持排序,因此在遍历时,我们能够按照学生ID的自然顺序打印出所有的学生信息。 ### Stack 虽然没有在提供的代码示例中出现,`Stack`是一种后进先出(LIFO)的数据结构,适用于需要跟踪历史...
使用DictionaryBase开发电话本 phonebook 应具有的功能 Add添加联系人 Remove删除联系人 Count获取联系人数 Clear清空联系人 Item获取联系人信息 索引器 保存至硬盘/ 从硬盘读取 思考:如何存储多个信息
在C#编程中,将文本文件的内容读取到数组中并进行排序是一项常见的任务,尤其在处理大量数据或日志文件时。以下是如何实现这个过程的详细步骤。 首先,我们需要打开文本文件并逐行读取内容。在C#中,我们可以使用`...
在这个过程中,我们可以使用一些优化技巧,例如使用`with`语句自动关闭文件,或者利用列表推导式简化代码。此外,如果单词数量巨大,可以考虑使用分块读取和排序来节省内存。 通过这样的处理,我们不仅得到了一个无...
这可能涉及到排序操作,比如Python的`sorted()`函数配合`lambda`表达式,或者使用`collections.Counter`类,它自动进行计数并提供`most_common()`方法用于排序输出。 在用户界面设计上,"Statistical words.exe...
本文将深入探讨如何使用 `Collections` 类对 List 进行排序操作。 首先,让我们了解 `List` 排序的基本概念。在 Java 中,`List` 是接口,它继承了 `Collection` 接口,并添加了顺序相关的操作。常见的 `List` 实现...
这个“shixiyi.rar_xiyi词语_单词_单词频率算法”似乎是一个关于计算和排序文本中单词出现频率的程序或工具。让我们深入探讨一下这个主题。 单词频率算法是一种用于分析文本数据的技术,其主要目的是确定文本中每个...
在`WordParse`类中,使用`SortedList`来存储单词及其出现次数。 - 示例中的`sl = new SortedList();`创建了一个新的`SortedList`实例。 - **添加元素到`SortedList`**: 在`AddAndParse`方法中,涉及到向`SortedList...
在C#编程中,了解和熟练使用系统类是至关重要的,因为它们构成了.NET Framework的核心功能。下面我们将深入探讨一些必须掌握的关键系统类及其用途。 首先,`Object`类是所有C#类的基类,它定义了所有对象共享的基本...
### 北航机试15年第三题:读文件并按字典序统计文件中出现的单词 #### 题目解析与知识点梳理 **题目背景:** 此题源自北京航空航天大学计算机专业的一次上机考试,考查的是学生对文件处理、字符串操作以及排序算法...
9. **SortedDictionary, TValue>** 和 **SortedList, TValue>**: 这两个集合类都是有序的键值对集合,不同之处在于SortedDictionary使用自定义比较器,而SortedList则根据键的自然顺序排序。 在ASP.NET Web API开发...
排序单词通常基于字母顺序,这在编程中可以通过使用内置的`sorted()`函数实现,指定排序的关键字为单词。如果需要按照单词的频率或其他属性排序,可能需要先对数据进行预处理。 搜索则更为灵活,可以使用线性搜索、...