采用c#实现功能1
看了好多c#的菜鸟教程不如自己开始动手打代码,最终实现了功能一,参考了网上的wordcount代码发现无论是c++还是c#大部分采用的是哈希表的方法实现的,本来还想仅用循环实现遍历句子中的所有字符,即发现" "就total++,但是考虑到功能二的单词数变得很多,这样做时间相对来说会慢一点,因此选择了hash表来实现功能。因为仅是一个句子,所以只需要将句子中的空格split就可以了,但在解决过程中我碰到的最大问题是C:\Users\dell-pc\Desktop\wcc\wcc\Interface1.cs(24,24): 错误 CS0029: 无法将类型“string[]”隐式转换为“string”,查了好久最终解决了这个问题~
using System;
using System.IO;
using System.Text;
using System.Collections;
using System.Collections.Generic; namespace wordcount
{
class Program
{ static void Main(string[] args)
{
Console.Write(">type ");
string textFileName;
textFileName = Console.ReadLine();
//读取文件内容
StreamReader sreader = new StreamReader(@"C:\Users\dell-pc\desktop\test1.txt");
//输出文件内容
string aword = sreader.ReadLine();
Console.WriteLine(aword);
Console.WriteLine();
char c = ' ';
//除去' '后的字符串数组
string[] s = aword.Split(c);
//建立哈希表
Hashtable ha = new Hashtable();
for (int i = ; i < s.Length; i++)
{
//判断哈希表中是否有文本
if (ha.ContainsKey(s[i]))
{
ha[s[i]] = (int)ha[s[i]] + ;
}
else
{
ha.Add(s[i], );
}
}
string[] arrKey = new string[ha.Count];//存键
int[] arrValue = new int[ha.Count];//存值
ha.Keys.CopyTo(arrKey, );
ha.Values.CopyTo(arrValue, );
Console.WriteLine(">wf -s test.txt");
Console.WriteLine("total " + ha.Count);
Console.WriteLine();
Array.Sort(arrValue, arrKey);//排序
for (int i = arrKey.Length - ; i >= ; i--)
{
if ((string)arrKey[i] != "")
{
Console.Write(arrKey[i].ToString().PadRight ()+" ");
Console.WriteLine(arrValue[i].ToString());
}
}
}
}
}
下面是我的代码:

最终实现结果为:

采用c#实现功能1的更多相关文章
- (转)为什么国外 MMORPG 中不采用自动寻路等功能?
不只是自动寻路,现在网游中的教学引导系统,辅助系统的功能强大程度,友好程度都可以说到了变态的程度,开发这些功能投入的资源甚至要超过游戏内容本身.究其原因,还是竞争越来越激烈,人心越来越浮躁,游戏商家为 ...
- ASP.NET Core - ASP.NET Core MVC 的功能划分
概述 大型 Web 应用比小型 Web 应用需要更好的组织.在大型应用中,ASP.NET MVC(和 Core MVC)所用的默认组织结构开始成为你的负累.你可以使用两种简单的技术来更新组织方法并及时 ...
- Odoo开源ERP:功能模块操作-销售功能篇
客户基础资料 1. 所有的客户基础资料,智云ERP开账启用时,期初的客户数据如果大于200条,可以批量导入: 2. 点“销售/订单/客户”菜单可以查看.编辑修改.搜索所有的客户基础资料: 3. 多层级 ...
- 【连载6】二手电商APP的导购功能与关系链机制分析
导读:得益于十余年来各种一手电商平台对市场与用户的教育以及共享.分享经济浪潮的兴起,互联网化的二手.闲置商品买卖.置换成为越来越普遍且简单可实现的生活方式. 第三章目录: 三.对比:主流二手电商竞品的 ...
- ArcGIS 10.5 新功能
ArcGIS 10.5正式发布,打造智能的Web GIS平台 2017年新年来临之际,ArcGIS 10.5正式发布. 历经几个版本,ArcGIS10.5已经革新为一个智能的以Web为中心的地理平台, ...
- 个人永久性免费-Excel催化剂功能第86波-人工智能之图像OCR文本识别全覆盖
在上一年中,Excel催化剂已经送上一波人工智能系列功能,鉴于部分高端用户的需求,再次给予实现了复杂的图像OCR识别,包含几乎所有日常场景,让公司个人手头的图像非结构化数据瞬间变为可进行结构化处理分析 ...
- 基于Entity Framework 6的框架Nido Framework
随着 Entity Framework 最新主版本 EF6 的推出,Microsoft 对象关系映射 (ORM) 工具达到了新的专业高度,与久负盛名的 .NET ORM 工具相比已不再是门外汉. EF ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 添加文章
上次把架构做好了,这次做添加文章.添加文章涉及附件的上传管理及富文本编辑器的使用,早添加文章时一并实现. 要点: 富文本编辑器采用KindEditor.功能很强大,国人开发,LGPL开源,自己人的好东 ...
- 应用程序框架实战三十八:项目示例VS解决方案的创建(一)
进行项目开发的第一步,是创建出适合自己团队习惯的VS解决方案,虽然我已经提供了项目示例,但毕竟是我创建的,你直接使用可能并不合适,另外你如果尝试模仿重新创建该示例,中间可能碰到各种障碍,特别是项目间的 ...
随机推荐
- sql 复杂查询 以teacher student course多对多关系为例
数据库表和值 /* SQLyog Ultimate v8.32 MySQL - 5.7.17-log : Database - course_dbms ************************ ...
- 对布局定位设置-position
使用position属性,会激活5个属性 left right bottom top z-index(-1至999) 注:z-index:会改变内容的层级关系, 1.绝对定位 position: ab ...
- spring-mvc高级技术
Spring MVC高级技术包括但不限于web.xml配置.异常处理.跨重定向请求传递数据 1.web.xml文件的配置 <!DOCTYPE web-app PUBLIC "-//Su ...
- php http_build_query stream_context_create post请求
<?php function send_post($url, $post_data) { $postdata = http_build_query($post_data); $options = ...
- Order Helper
using System; using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Query; using Microsoft.Crm.Sdk.Messag ...
- Linux上搭建svn资源库
一.安装 centos上安装 使用命令svn --version查看是否安装过svn: 如果出现 bash: svn: command not found 则显示没有安装 可以使用 yum in ...
- 决策树&随机森林
参考链接: https://www.bilibili.com/video/av26086646/?p=8 <统计学习方法> 一.决策树算法: 1.训练阶段(决策树学习),也就是说:怎么样构 ...
- robotframework+appium,数字键盘输入问题,keycode,press keycode
需要注意事项 appium自带的输入法应该是无法模拟控制键和基本键的,需要自行使用adb切换成搜狗或者android输入法,然后case完成之后记得切回appium输入法 appium模拟发送基本键命 ...
- 分治与递归-找k个临近中位数的数
问题描述:给定由n个互不相同的数组成的集合S以及正整数k≤n,试设计一个O(n)时间算法找出S中最接近S的中位数的k个数. 算法描述: 用线性时间选择实现的算法找到中位数 S’=除去中位数外的S S& ...
- 20145202马超《网络对抗》Exp5MSF基础应用
20145202马超<网络对抗>Exp5MSF基础应用 本实践目标,掌握metasploit的基本应用方式,掌握常用的三种攻击方式的思路.具体需要完成(1)一个主动攻击,如ms08_067 ...