在C#中返回字典值而不将其分配给变量?

亚当

我想使用字典的值而不将其分配给变量:

Dictionary<int, string> LayoutByID = new Dictionary<int, string>() {
    { 0, "foo"},
    { 1, "bar"}
    // ...
};

如果创建变量,我可以例如打印值:

string b;
LayoutByID.TryGetValue(1,out b);
print("Trying Dictionary to retrieve value for 1: " + b);

但我想知道是否有更简单的方法,例如:

print("Trying Dictionary to retrieve value for 1: " + LayoutByID.TryGetValue(1 [???]));

我知道我可以编写一个带有开关的函数,该开关也可以类似地工作,但是使用字典可能会更便宜,因为我的列表较长。谢谢你的建议!

巴斯蒂安·锡德(Bastian Thiede)

您可以使用Dictionary诸如var x = LayoutByID[0];But的键访问,但是,如果其中Dictionary不包含带有该键的条目,则会出现异常

为了避免引发异常,您可以先使用LayoutByID.ContainsKey()-检查密钥是否存在,然后针对这些情况编写逻辑:

if (LayoutByID.ContainsKey(0)) // Check if the key exists (replace 0 with whatever)
{
    var x = LayoutByID[0]; // Access the value and do whatever with it
    // ...
}
else
{
    // Key doesn't exist:
    // Do something else
}

或使用C#6.0,您也可以像这样打印

var key = -1;
var myString = string.Empty;
LayoutByID.TryGetValue(key, out myString);
Console.WriteLine($"Trying Dictionary to retrieve value for {key}: {myString ?? "Error: Invalid ID"}");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

不将函数的返回值分配给变量的含义

返回字符串数组并将其分配给C中的变量

如何从MySQL中读取双列并将其分配给C#双变量?

如果我在不将其返回值分配给变量的情况下调用函数,会发生什么情况?

字典的第一个值未分配给C#中的组合框

C#中的扩展方法如何将值分配给父变量,即“ this”变量

在C99中,是否可以在不首先将其分配给变量的情况下使用返回值?

将从类方法返回的字典值分配给类变量

从 str > float > int 转换 CSV 信息,然后将其分配给字典中的值

如何将值转换为float并将其分配给Python中的字典?

AngularJS:从函数返回数据并将其分配给变量

从函数返回数组并将其分配给变量

如何在c#中拆分特定格式的字符串并将其分配给变量?

如何根据最大值将字典中的所有值分配给变量

将特定的字典值分配给变量

拆分字符串值并将其分配给VBscript中的变量

读取输入框中的值并将其分配给变量进行加密和解密

查找最小值并将其以相同顺序分配给新变量-C ++

使用三元运算符而不将其分配给变量

N次创建一个类的实例,而不将其分配给变量

LINQ:通过键从字典中获取项目及其值,然后将它们分配给变量

如何将变量分配给 Python 字典中的值?

如何将从python字典中检索的值分配给变量?

使用输入在字典中查找键并将值分配给该变量

从文本中获取值并将其分配给变量

从输入中读取整数并将其分配给变量

从数组中调用元素并将其分配给变量?

C#-从JSON响应中获取值并将其分配给变量

C。从文件中扫描行的特定部分,并将其分配给某个变量