-1
A
回答
2
首先,不要使用散列表。改用HashSet。您可以在名稱空間System.Collections.Generic中找到它。
什麼是散列圖?
散列圖(或字典,因爲它在C#中調用)是一種數據結構,允許您使用其他類型的輸入來查找一種類型的數據。基本上,當您向字典中添加項目時,可以同時指定密鑰和值。然後,當你想查找字典中的值時,只需給它一個鍵,它就會給你與它相關的值。
例如,如果您有一堆您希望能夠通過其UPC查找的產品對象,則可以將產品添加到您的字典中,將產品作爲值並將UPC編號作爲關鍵字。
A HashSet另一方面,不存儲成對的鍵和值。它只是存儲物品。哈希集合(或任何集合)確保在將項目添加到集合時,不會有重複項目。
當我在哈希表中添加項目時,我可以將它保存爲新文件並還原原始項目?
首先,不要使用散列表。改爲使用HashSet
。你可以在命名空間System.Collections.Generic
中找到它。要使用它,只需將其中的項目添加到其中,就像您使用其他任何收藏一樣。
像其他收藏,HashSet
支持系列化(連載是當你把一個對象,並將其轉換爲字節的字符串,因此它可以被保存到一個文件或通過互聯網發送)。下面是顯示了散列組的序列化的一個範例程序:
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
namespace HashSetSerializationTest
{
class Program
{
static void Main(string[] args)
{
var set = new HashSet<int>();
set.Add(5);
set.Add(12);
set.Add(-50006);
Console.WriteLine("Enter the file-path:");
string path = Console.ReadLine();
Serialize(path, set);
HashSet<int> deserializedSet = (HashSet<int>)Deserialize(path);
foreach (int number in deserializedSet)
{
Console.WriteLine($"{number} is in original set: {set.Contains(number)}");
}
Console.ReadLine();
}
static void Serialize(string path, object theObjectToSave)
{
using (Stream stream = File.Create(path))
{
var formatter = new BinaryFormatter();
formatter.Serialize(stream, theObjectToSave);
}
}
static object Deserialize(string path)
{
using (Stream stream = File.OpenRead(path))
{
var formatter = new BinaryFormatter();
return formatter.Deserialize(stream);
}
}
}
}
爲了序列什麼,你需要包括System.IO
和System.Runtime.Serialization.Formatters.Binary
。
相關問題
- 1. 使用C++將哈希表複製到另一個哈希表
- 2. 使用矢量C++實現哈希表
- 3. 使用STL的C++哈希表w/o
- 4. 如何使用BST實現哈希表?
- 5. 如何使用哈希表的
- 6. 如何使用Perl構建哈希表
- 7. 如何在c#中存儲哈希表?
- 8. 在C中使用哈希#
- 9. 如何使用哈希碼?
- 10. 如何使用哈希(#)
- 11. 如何使用哈希
- 12. 如何確定雙哈希表的哈希表何時已滿?
- 13. 使用哈希表的PowerShell
- 14. PowerShell的:使用哈希表
- 15. 的循環哈希表C#
- 16. C#中的哈希表ArrayList#
- 17. C#哈希表搜索
- 18. 有在C++哈希表
- 19. 如何在哈希表
- 20. 如何搜索哈希表?
- 21. 如何從哈希表
- 22. 如何在Racket中定義哈希表的哈希表?
- 23. 如何保持哈希表中哈希表元素的順序
- 24. 如何在powershell中的哈希表中添加哈希表?
- 25. 如何打印SHA512哈希用C
- 26. 使用哈希
- 27. Ruby哈希 - 如何在填充對象時使用哈希值?
- 28. 哈希表vs哈希列表與哈希樹?
- 29. 如何在matlab中使用座標作爲哈希鍵來構建哈希表?
- 30. 決定何時使用哈希表
請使用MSDN ... – Mat
爲了給你一個好的答案,它可能會幫助我們,如果你有一個問題,如果你還沒有看過。如果你可以提供[mcve],它可能也很有用。 – Mat
@Mat你是對的,但我只需要知道第二個問題的答案(當我添加項目的時候......) – InvBoy