2012-11-21 32 views
5

Tôi có cuốn từ điển này và các bộ thiết lập trong SetValue() như sau: -Initialize tuple với các giá trị rỗng hoặc null trong C#

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) 
} 

Tôi cố gắng để truy xuất các tuple trong GetValue() như sau: -

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; 
    } 
} 

Câu hỏi của tôi là đây có phải là cách chính xác để khởi tạo tuple trong khi truy xuất cùng một từ điển không? Có mã nào tốt hơn không?

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

Khởi tạo bộ dữ liệu không có mối quan hệ trực tiếp với việc sử dụng từ điển. Hai lớp không liên quan. – usr

Trả lời

11

Nếu đó là tham số ngoài, đối tượng không cần phải được khởi tạo trước khi sử dụng. Bạn chỉ có thể thực hiện:

Tuple<string,string> myTuple; 
if (myDict.TryGetValue(sdsId, out myTuple)) 
{ 
    var x = myTuple.Item1; 
    var y = myTuple.Item2; 
} 
+0

Đó là sự thật. Tôi chắc chắn là một dumbo. Cảm ơn :) – rajibdotnet

13

Bạn không cần tạo cá thể cho tham số ngoài. Chỉ cần khai báo biến cục bộ là Tuple nhưng không gán giá trị.

Tuple<string, string> myTyple; 
+0

@TimSchmelter Tôi thành thật đọc câu hỏi khi yêu cầu cách tốt nhất để xác định biến để sử dụng trong kịch bản đó. Như vậy, nó chỉ cần được khai báo. – fsimonazzi