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

out パラメーターの場合、オブジェクトを使用する前に初期化する必要はありません。あなたはただできるはずです:

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