c# - 如何显示/输出/操作字典的内容?
问题描述
我需要根据我在控制台中输入List
的 a 来显示 a ,如果它也超出了控制台中给定的输入范围,则会显示错误消息。Dictionary
int key
throw
public class Channel
{
const string displayChannel = "{0},{1},{2}";
private Dictionary <int, string> ChannelLookup =
new Dictionary <int, string> ()
{
{1, new List<string>{"[A]","[B]","[C]"}},
{2, new List<string>{"[A]"}
};
public string channelDisplay (int val)
{
if (!ChannelLookup.ContainsKey(val))
{
// throw exception
}
else
{
string display = string.Format(displayChannel, ChannelLookup[val]);
return display;
}
}
}
System.Format.Exception:'Index(zerobased) 必须大于或等于零且小于参数列表的大小。
解决方案
仅出于完整性考虑:有时我使用Aggregate
而不是Join
,因为它可以为您提供更多控制权。
var values = ChannelLookup[val].Values;
var display = values.Aggregate((a, b) => $"{a}, {b}");
要使用 Linq 函数Aggregate
,您需要添加System.Linq
到 using 指令。
推荐阅读
- jsf - OrderList 中的复选框字段
- vb.net - 我无法在 vb.net 的 datagridview 中的按钮上发短信
- apache-spark - Spark SQL,不尊重 Dataframe 格式
- java - 为什么谷歌地图在android中不起作用(通过WebView)
- android-intent - 关于 goAsync 的困惑-BroadcastReceiver 进程在 10 秒内不会被杀死
- python - 如何询问 python 对象的结构?
- wpf - 基于变换(旋转等)考虑孩子边界框的控制
- javascript - 渲染 ListItem 元素显示空白
- networking - 单实例 OpenStack IP 网络配置
- html - 带网格的联系页面?