C# 如何处理值?

C# 如何处理值?,c#,asp.net,C#,Asp.net,可能重复: 我想处理c中的值。如何处理值 我想在有ID、名称和类型的会话中存储数据,所以请建议我应该使用哪个集合?正如我看到的dictionary帮助一样,它是只存储TKey,TValue。元组可能会起作用。虽然您可以按照recursive的建议创建元组,但如果您只创建自己的类型,代码会更容易理解。例如: public class SessionData { public int Id { get; private set; } public string Name { get

可能重复:

我想处理c中的值。如何处理值


我想在有ID、名称和类型的会话中存储数据,所以请建议我应该使用哪个集合?正如我看到的dictionary帮助一样,它是只存储TKey,TValue。

元组可能会起作用。

虽然您可以按照recursive的建议创建元组,但如果您只创建自己的类型,代码会更容易理解。例如:

public class SessionData
{
    public int Id { get; private set; }
    public string Name { get; private set; }
    public int Type { get; private set; }

    public SessionData(int id, string name, int type)
    {
        Id = id;
        Name = name;
        Type = type;
    }
}
然后在需要时创建该类的实例,并将其存储在字典或其他任何地方


创建自己的类型来封装相关数据是OOP中的关键任务之一。

您的意思是什么?请进一步解释您的问题。请详细说明,您想要什么,集合一种方法,什么??我想在会话中存储数据,其中有ID、名称、类型,所以请建议我应该使用哪个集合?正如我看到的字典帮助一样,它是只存储TKey,TValue。然后在将来,您将需要存储id/name/type/昵称/DOB/。。。最好的解决方案是创建一个结构或类是的,它会-但是OP的代码会使它比创建自己的类型更难阅读。我当然知道你是从哪里来的,但我是唯一一个真正认为读取元组通常容易得多的人吗?只要作用域是类,并且命名是好的,就是这样。阅读SessionData需要查找类签名以了解其中的内容,而查看元组只需要查看声明。。嗯,我想这是一个非常值得讨论的话题:。。嗯,把问题再读一遍;在这种情况下,我当然也会选择创建一个类。@cwap:只是回答您的第一条评论,尽管我知道您可能已经理解了第二条评论:元组声明只会告诉您所涉及的数据类型。对于单个组件或整个项目的含义,它不会给出任何提示。如果没有更多文档,您如何知道哪个int值是类型,哪个是ID?命名属性使这一点更清晰,更不容易出错。