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# 中是否有一个结构可以以不可变的方式存储键和值,并在编译时知道该集合中是否有键/值对。
解决方案
使用匿名类型:
var obj = new
{
applicationName = "",
port = 9000
};
var name = obj.applicationName;
var something = obj.fail; //doesn't compile
虽然,我真的鼓励你创建类并给它们命名,因为你可以从 API 中公开它们。
推荐阅读
- php - Laravel Eloquent 如何根据类别 id 获取所有产品
- java - Dijkstra算法如何使其工作定向
- excel - 根据 A 列中选定单元格中的值突出显示 B 列中的值(Excel VBA)
- android - Android BiometricPrompt 抛出 NPE
- node.js - 握手不活动超时错误 AWS node.js
- html - CSS:文本输入在选中时有另一个边框
- node.js - Node.js:CSV 在 mac os(数字)上正确显示,但在 windows(excel)上显示全部混乱
- python - 将 CNN 的输出传递给 BILSTM
- python - 将列表中的值映射到没有时间顺序的已知字典格式
- c# - 如何在 docker 容器中运行这个 PowerShell 脚本?