Инициализировать кортеж с пустыми или нулевыми значениями в C#
У меня есть этот словарь и кортежи, установленные в 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>("","");
2 ответа
Решение
Если это параметр out, объект не нужно инициализировать перед использованием. Вы должны просто быть в состоянии сделать:
Tuple<string,string> myTuple;
if (myDict.TryGetValue(sdsId, out myTuple))
{
var x = myTuple.Item1;
var y = myTuple.Item2;
}
Вам не нужно создавать экземпляр для параметра out. Просто объявите локальную переменную как Tuple, но не присваивайте значение.
Tuple<string, string> myTyple;