插入一个文本文件与C#中的哈希表
问题描述:
我有一个文本文件巫婆包含这样的值:插入一个文本文件与C#中的哈希表
0000000000
0000111222
0000144785
我需要插入该文件与C#中的哈希表,这是我做了什么等等远:
string[] FileLines = File.ReadAllLines(@"D:TestHash.txt");
Hashtable hashtable = new Hashtable();
foreach (string line in FileLines)
{
// dont know what to do here
}
和之后,我需要匹配从文本框中的值与散列表值。我该怎么办?
答
A Hashtable
是用于键值对的容器。既然你只有值,而不是键值对,你不需要一个哈希表,你需要一个HashSet
:如何使用哈希一套(包括一个例子)
HashSet<string> fileLineSet = new HashSet<string>(FileLines);
检查MSDN。
+0
这有效,但如何做匹配的事情?你能给一个办法吗? –
+0
你最好的,解决了! –
答
这读取所有的行成一个HashSet,并检查一个TextBox的反对
HashSet<string> items = new HashSet<string>(File.ReadLines(@"D:\TestHash.txt"));
bool hasValue = items.Contains(TextBox.Text);
答
static void Main(string[] args)
{
string[] FileLines = File.ReadAllLines("your text file path");
Hashtable hashtable = new Hashtable();
foreach (string line in FileLines)
{
if (!hashtable.ContainsKey(line))
{
hashtable[line] = line;
}
}
foreach (var item in hashtable.Values)
{
//here you can match with your text box values...
//why you need to insert text file data into hash table really i dont know.from above foreach loop inside only you can match the values.might be you have some requirement for hash table i hope
string textboxVal = "text1";
if (item == textboxVal)
{
//both are matched.do your logic
}
else{
//not matched.
}
}
}
为什么'Hashtable',而不是一个的Hashset''的价值? –
fubo
散列表有一个键和一个值。你想做什么?插入文件行作为键和值?为钥匙使用别的东西? – Jamiec
尝试'hashtable.add(hashtable.count.ToString(),line);' –