我正在尝试从一系列已从单个.csv文件中填充的列表中检索数据
我将整个列表添加到词典中,并将缩写词从" lol"说话
到目前为止,我能够搜索列表/字典并确定搜索的项目是否存在。我只想写下:
abbreviation - full meaning
进入控制台
到目前为止,这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace expanded_meanings
{
class Program
{
static void Main(string[] args)
{
Dictionary<string, string> lolspeak_dictionary = new Dictionary<string, string>();
var reader = new StreamReader(File.OpenRead(@"H:\twitter.csv"));
List<string> short_name = new List<string>();
List<string> longer_name = new List<string>();
int count=0;
string search = Console.ReadLine();
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
lolspeak.Add(values[0], values[1]);
short_name.Add(values[0]);
longer_name.Add(values[1]);
count = count + 1;
}
if (short_name.Contains(search))
{
Console.WriteLine("Item found");
}
else
Console.WriteLine("Not Found");
Console.ReadLine();
}
//if (short_name = user_search);
}
}
答案 0 :(得分:1)
首先,您不需要short_name
和long_name
,因为这些值包含在lolspeak_dictionary
中,您可以使用Keys
和{{1}来访问它们} Values
的属性。
至于搜索Dictionary
,您只需将当前代码用作
abbreviation - full meaning
<强>更新强>:
方法调用Console.WriteLine("'{0}' - Not Found", search); 通过使用替换来工作。 if (lolspeak_dictionary.ContainsKey(search))
{
Console.WriteLine("{0} - {1}", search, lolspeak_dictionary[search]);
}
else {
Console.WriteLine("'{0}' - Not Found", search);
}
的值位于search
的位置。 {0}
如果搜索{0} - Not Found
,您将获得WOTR
。
在WOTR - Not found
的情况下。如果Console.WriteLine("{0} - {1}", search, lolspeak_dictionary[search]);
为search
,您将获得WOTA
。
其他资源