首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在.NET中存储字符串对、创建对象或使用类的最佳方式是什么?

在.NET中存储字符串对、创建对象或使用类的最佳方式是什么?
EN

Stack Overflow用户
提问于 2011-08-17 23:55:22
回答 7查看 53.2K关注 0票数 29

我不知道我是不是有一个“密集的一天”-但我只是想知道在这里最好的路线是什么。

上下文:

我有一个字段列表,我想用它们存储别名(我使用的是.NET 2.0BTW),例如

所以它本质上是一对字符串:

参考,参考

社区,社区

POST_CODE,邮政编码

..。我在想,一直在为这样的事情创建对象似乎有点过分,所以我应该创建一个StringDictionary并以这种方式存储值,即使我不会使用StringDictionary类的任何功能,我也不担心键值对关联等问题-我只想保留一对字符串。

任何帮助/指针都会很棒。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-08-17 23:58:48

如果您的“字段名”是唯一的,则可以使用通用Dictionary<string, string>

否则,如果您不介意重复键,则可以使用Lookup类。

我不会太担心你是否使用了这些类的全部功能。我认为更重要的问题应该是编写简单、易于阅读和维护的代码。

票数 12
EN

Stack Overflow用户

发布于 2011-08-18 00:00:10

.NET的“配对”泛型类是Tuple。您可以像这样使用它:

代码语言:javascript
复制
var strings=new List<Tuple<string, string>>();
strings.Add(Tuple.Create("REFERENCE", "Ref"));

如果最左边的字符串是唯一的(即键),那么字典就是一个完全可以接受的替代品。否则你会得到错误。

至于是使用内置集合还是创建一个实际的对象更好,这取决于您的需要(您稍后会添加更多列吗?你不能用字典的方法做到这一点),你使用它的频率(如果它是一个核心类型,你可能应该为它建立一个域模型)等等。

编辑:不使用任何字典内置功能,这不是真的:您正在使用它的二进制搜索算法和内部树结构来进行闪电般的查找。Tuple或您自己的类型的列表很可能不会有这个,它将恢复为线性搜索。

票数 50
EN

Stack Overflow用户

发布于 2011-08-17 23:57:01

System.Tuple怎么样?

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7095820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档