键/值对与已定义集中的键

时间:2019-03-22 12:14:28

标签: c#

很抱歉,这个问题的措词不正确;我来自Javascript / Typescript背景。

我要创建的是一组不可变的键/值对,IDE /编译器将在其中知道该列表中存在或不存在哪些键。我猜想这可能是一个类,也许这确实是最好的选择,但是我很想了解是否有替代方法。

例如,对于应用程序的配置,在Typescript中我可以拥有:

const config = {
  applicationName: 'Some application',
  port: 8000,
};

const testOne = config.applicationName;
const testTwo = config.fail;             // this would not work

也就是说,IDE使用的编译器或某些解释器能够根据结构判断该结构不存在键/值。

在我看来,对于此类数据而言,一个类过多了;尽管由于我是该语言的新手,这可能是由于我的天真。我想知道C#中是否有一种结构可以以不变的方式存储键和值,并在编译时知道该集合中是否有键/值对。

1 个答案:

答案 0 :(得分:3)

使用anonymous type

var obj = new
{
    applicationName = "",
    port = 9000
};

var name = obj.applicationName;
var something = obj.fail; //doesn't compile

尽管如此,我还是鼓励您创建类并为其命名,因为您可以从API中公开它们。