7

我在 SetValue() 中设置了这个字典和元组,如下所示:-

var myDict = new Dictionary<string, Tuple<string, string>>();

private void SetValue() 
{
  var myTuple1= Tuple.Create("ABC", "123");
  var myTuple2= Tuple.Create("DEF", "456");
  myDict.Add("One", myTuple1)
  myDict.Add("Two", myTuple2)
}

我正在尝试检索 GetValue() 中的元组,如下所示:-

private void GetValue()
{
  var myTuple = new Tuple<string, string>("",""); //Is this correct way to initialize   tuple
  if (myDict.TryGetValue(sdsId, out myTuple))
  {
    var x = myTuple.Item1;
    var y = myTuple.Item2;
   }
}

我的问题是这是否是在从字典中检索元组时初始化元组的正确方法?有更好的代码吗?

 var myTuple = new Tuple<string, string>("","");
4

2 回答 2

17

您不需要为 out 参数创建实例。只需将局部变量声明为元组,但不要赋值。

Tuple<string, string> myTyple;
于 2012-11-21T20:38:12.877 回答
17

如果它是一个输出参数,则该对象在使用前不需要初始化。你应该能够做到:

Tuple<string,string> myTuple;
if (myDict.TryGetValue(sdsId, out myTuple))
{
    var x = myTuple.Item1;
    var y = myTuple.Item2;
}
于 2012-11-21T20:38:45.397 回答