在C#中使用空或null值初始化元组

11

我已经设置了一个字典和元组,如下所示:

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>("","");

初始化元组与使用字典没有直接关系,这两个类别之间没有关联。 - usr
2个回答

21
如果它是一个输出参数,在使用之前对象不需要被初始化。你只需要这样做即可:
Tuple<string,string> myTuple;
if (myDict.TryGetValue(sdsId, out myTuple))
{
    var x = myTuple.Item1;
    var y = myTuple.Item2;
}

太对了。我肯定是个笨蛋。谢谢 :) - rajibdotnet

19

你不需要为输出参数创建实例。只需将本地变量声明为 Tuple ,但不要赋值。

Tuple<string, string> myTyple;

@TimSchmelter,我认为问题的意思是询问在这种情况下定义变量的最佳方式。因此,只需要声明即可。 - fsimonazzi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接