【问题标题】:what is a good c# data structure with direct access?什么是具有直接访问权限的良好 c# 数据结构?
【发布时间】:2018-06-18 03:51:58
【问题描述】:

我正在使用 Unity 构建游戏,我需要一个良好的数据结构,让我可以直接访问具有最佳性能的键/属性。

我的意思是例如在 javascript 中我可以做类似的事情

var myData = {};

for (let data in somedata) {
  myData[data] = someValue;
}

console.log(myData['directToken']);

我可以在 C# 中使用什么来让我做相同/相似的事情?

【问题讨论】:

  • System.Collections.Generic.Dictionary<TKey, TValue>
  • @MickyD 不,我在统一用 C# 编程,以 javascript 为例

标签: javascript c# unity3d data-access


【解决方案1】:

你可以使用NameValueCollection;

var collection = new NameValueCollection();
var someData = new List<string>(){ "directToken"};
foreach (var data in someData)
{
    collection[data] = "someValue";
}
Console.WriteLine(collection["directToken"]);

另外,您可以用类似的方式使用Dictionary,而不是NameValueCollection。唯一的区别是NameValueCollection 可以包含重复的键。

【讨论】:

  • 非常感谢,有没有像 jsperf.com 这样的基准性能来源,但对于 c#?
  • 其实我不知道这种网站。但是 Visual Studio 性能和诊断工具是您最好的朋友。
  • cc.davelozinski.com/c-sharp/…有一些不错的收藏对比数据,才几年。
  • 只是出于兴趣,为什么使用NameValueCollection 比使用Dictionary 更有益?就像你提到的NameValueCollection 可以包含重复的键,但在创建保存数据结构时不是那么没用吗?
  • 这里还有一个关于字典的裁决。仅当您需要重复时,才使用字典。
猜你喜欢
  • 2015-10-21
  • 2019-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-19
  • 2020-10-30
  • 1970-01-01
相关资源
最近更新 更多