我试图围绕哪些数据结构最有效以及何时/何地使用哪些数据结构.
现在,可能是因为我只是不太了解这些结构,但是如何与一个ILookup(of key, ...)不同Dictionary(of key, list(of ...))?
另外,我想在ILookup哪里使用?在程序速度/内存/数据访问等方面哪个更高效?
如何在ILookup<key, value>界面有所不同IDictionary<key, value>?
我不明白ILookup界面的含义.
我想创建一个数据存储,以允许我存储一些数据.
第一个想法是创建一个字典,其中有1个具有许多值的键,所以有点像一对多的关系.
我认为字典只有1个键值.
我怎么能存储这些信息?
考虑下面的C#Console应用程序的代码,使用
我应该如何修改它以替换该行:
foreach (Product product in productsByCategory[category])
Run Code Online (Sandbox Code Playgroud)
通过代码行
foreach (Product product in productsByCategory[category][Id])
Run Code Online (Sandbox Code Playgroud)
?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace myQuestion
{
class Program
{
static void Main(string[] args)
{
var products = new List<Product>
{
new Product { Id = 1, Category = "Garden", Value = 15.0 },
new Product { Id = 1, Category = "Garden", Value = 40.0 },
new Product { Id = 3, Category = "Garden", Value = 210.3 },
new Product …Run Code Online (Sandbox Code Playgroud) 如何将重复键添加到字典中
即我已经将键,值对添加为rollno,1但我需要将相同的参数添加到字典中,但它不允许添加.如何在字典中添加重复键/重复键.
或任何其他选择..任何想法???
我还在了解不变性以及何时使用这些对象,并开始在我的编码中加入更多的Lookup,因为我知道它们是不可变的,因此,通常比客户端可以更改的字典更好用.
话虽这么说,但我知道将ReadOnlyDictionaries引入.Net 有很多工作,我有点困惑,每一个都比另一个更有用,具体是什么让它们与众不同.我看过网上,但似乎找不到任何解释这种差异的文章.
例如,我看到了这个问题,并认为查找将是一个更理想的解决方案,但我很困惑为什么它不会.
任何人都可以指出我正确的方向/解释哪里将使用另一个.
谢谢!!
我想要一个Dictionary的功能,但我想为每个键存储多个值.如何在.NET/C#中完成?是否有支持此方案的内置集合?
如果我执行以下操作:
collection.Add("key1", new Order(1));
collection.Add("key1", new Order(2));
collection.Add("key1", new Order(3));
collection.Add("key2", new Order(4));
Run Code Online (Sandbox Code Playgroud)
然后运行以下应返回3个订单.
collection["key1"];
Run Code Online (Sandbox Code Playgroud) c# ×7
.net ×5
dictionary ×3
linq ×2
lookup ×2
collections ×1
datasource ×1
immutability ×1
lambda ×1
vb.net ×1