首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将值设置为: KeyValuePair<KeyValuePair<String、String>、int>

如何将值设置为: KeyValuePair<KeyValuePair<String、String>、int>
EN

Stack Overflow用户
提问于 2016-04-23 18:29:41
回答 1查看 4.5K关注 0票数 3

C# --我在主KeyValuePair中使用KeyValuePair作为密钥。我的问题是:

如果我有"KeyValuePair",声明如下:

代码语言:javascript
复制
KeyValuePair<String,String> varName = new KeyValuePair<String,String>("String 1","String 2");

如果我有以下情况,我该如何申报:

代码语言:javascript
复制
KeyValuePair<KeyValuePair<String,String>,int>

我在这里的语法太混乱了。请帮帮我!

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-23 18:41:58

你差不多有,但最简单的是把它分成两个首字母。

首先,初始化KeyValuePair<string, string>,然后使用它与int一起对KeyValuePair<KeyValuePair<string, string>, int>进行初始化。

代码语言:javascript
复制
var pair = new KeyValuePair<string, string>("string 1", "string 2");
var varName = new KeyValuePair<KeyValuePair<string, string>, int>(pair, 10);

如果您编写了这样的助手方法,您可以大大简化这一点:

代码语言:javascript
复制
public static KeyValuePair<T1, T2> MakeKeyValuePair<T1, T2>(T1 key, T2 value)
{
    return new KeyValuePair<T1, T2>(key, value);
}

使用它,您可以执行以下操作:

代码语言:javascript
复制
var pair    = MakeKeyValuePair("string 1", "string 2");
var varName = MakeKeyValuePair(pair, 10);

这要容易得多,并且不需要显式指定类型。

或者如果你喜欢(我个人不喜欢这样):

代码语言:javascript
复制
var varName = MakeKeyValuePair(MakeKeyValuePair("string 1", "string 2"), 10);

但如果你真的想用一种艰难的方式去做:

代码语言:javascript
复制
var varName = new KeyValuePair<KeyValuePair<string, string>, int>(
    new KeyValuePair<string, string>("string 1", "string 2"), 
    10);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36814806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档