问题描述
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace单词本{classProgram{staticvoidMain(string[]args){string[]str={""};for(inti=0;i<str.Length;i++){Console.Write("请输入一个单词:");str[i]=Console.ReadLine();//动态改变数组的长度,长度多加1Array.Resize(refstr,str.Length+1);//停止if(str[i]=="")break;}Console.WriteLine("n"+"输入的单词是:");//排序Array.Sort(str);foreach(stringninstr){Console.WriteLine(n);}Console.WriteLine("输入的单词个数为:{0}",str.Length-2);Console.Write("输入需要查询的单词:");Console.ReadLine();}}}如何写代码能让我查询red,给出的结果是red,红色查询色,给出的结果是red,红色yellow,黄色
解决方案
解决方案二:
stringkey="red";//查红色foreach(stringninstr){if(n.StartsWith(key,StringComparison.OrdinalIgnoreCase)){Console.WriteLine("结果是"+n);}}如果查所有,去掉if判断,遍历所有输入的单词
解决方案三:
引用1楼dongxinxi的回复:
stringkey="red";//查红色foreach(stringninstr){if(n.StartsWith(key,StringComparison.OrdinalIgnoreCase)){Console.WriteLine("结果是"+n);}}如果查所有,去掉if判断,遍历所有输入的单词
引用1楼dongxinxi的回复:
stringkey="red";//查红色foreach(stringninstr){if(n.StartsWith(key,StringComparison.OrdinalIgnoreCase)){Console.WriteLine("结果是"+n);}}如果查所有,去掉if判断,遍历所有输入的单词
怎么设置一个变量,查询我需要的,然后查询之后还能继续查询
解决方案四:
引用2楼kly469266077的回复:
Quote: 引用1楼dongxinxi的回复:
stringkey="red";//查红色foreach(stringninstr){if(n.StartsWith(key,StringComparison.OrdinalIgnoreCase)){Console.WriteLine("结果是"+n);}}如果查所有,去掉if判断,遍历所有输入的单词引用1楼dongxinxi的回复:
stringkey="red";//查红色foreach(stringninstr){if(n.StartsWith(key,StringComparison.OrdinalIgnoreCase)){Console.WriteLine("结果是"+n);}}如果查所有,去掉if判断,遍历所有输入的单词怎么设置一个变量,查询我需要的,然后查询之后还能继续查询
while(true)
解决方案五:
引用3楼FTD_Fred的回复:
Quote: 引用2楼kly469266077的回复:
Quote: 引用1楼dongxinxi的回复:
stringkey="red";//查红色foreach(stringninstr){if(n.StartsWith(key,StringComparison.OrdinalIgnoreCase)){Console.WriteLine("结果是"+n);}}如果查所有,去掉if判断,遍历所有输入的单词引用1楼dongxinxi的回复:
stringkey="red";//查红色foreach(stringninstr){if(n.StartsWith(key,StringComparison.OrdinalIgnoreCase)){Console.WriteLine("结果是"+n);}}如果查所有,去掉if判断,遍历所有输入的单词怎么设置一个变量,查询我需要的,然后查询之后还能继续查询
while(true)
strings;Console.WriteLine("输入的单词个数为:{0}",str.Length-2);//查询Console.Write("输入要查询的单词或汉语释义:");s=Console.ReadLine();stringkey=s;foreach(stringninstr){if(n.StartsWith(key,StringComparison.OrdinalIgnoreCase)){Console.WriteLine("结果是"+n);}}Console.ReadLine();我这样写if(n.StartsWith(key,StringComparison.OrdinalIgnoreCase))会报错啊应该怎么办呢
解决方案六:
有没有人在啊
解决方案七:
staticvoidMain(string[]args){boolendInsert=false;List<string>dics=newList<string>();do{Console.WriteLine("请输入一个单词:");stringword=Console.ReadLine();if(word=="")endInsert=true;else{dics.Add(word);}}while(!endInsert);Console.WriteLine("n输入的单词是:");foreach(varitemindics){Console.WriteLine(item);}Console.WriteLine("输入的单词个数为:"+dics.Count);boolendSearch=false;do{Console.WriteLine("输入要查询的单词或汉语释义:");stringkeyWord=Console.ReadLine();if(keyWord=="")endSearch=true;else{varsearchWithWord=dics.Where(s=>s.Split(',')[0].Equals(keyWord)).ToList();//中文释义这里用的是模糊匹配,如果要精确匹配的话,把Contains改为Equals即可varsearchWithExplanation=dics.Where(s=>s.Split(',')[1].Contains(keyWord)).ToList();if(searchWithWord.Count()!=0){searchWithWord.ForEach(r=>{Console.WriteLine(r);});}elseif(searchWithExplanation.Count()!=0){searchWithExplanation.ForEach(r=>{//分割时以输入的字符格式为准vartemp=r.Split(',');Console.WriteLine(temp[1]+","+temp[0]);});}elseConsole.WriteLine("未找到单词对应的释义.");}}while(!endSearch);Console.ReadKey();}