C# में टपल एक डेटा स्ट्रक्चर है जो डेटा को व्यवस्थित करता है और किसी भी टाइप के दो या अधिक फील्ड रखता है।
टपल आम तौर पर कोष्ठकों के एक जोड़े के अंदर, कॉमा से अलग किए गए 2 या अधिक एक्सप्रेशन रखकर बनाया जाता है।
string boast = "All you need to know";
bool success = !string.IsNullOrWhiteSpace(boast);
(bool, int, string) triple = (success, 42, boast);
किसी टपल का इस्तेमाल असाइनमेंट और इनिशियलाइज़ेशन कार्यों में, रिटर्न वैल्यू के रूप में या मेथड आर्गुमेंट के रूप में किया जा सकता है।
फील्ड डॉट सिंटैक्स से निकाले जाते हैं। डिफ़ॉल्ट रूप से पहला फील्ड Item1 होता है, दूसरा Item2, वगैरह। डिफ़ॉल्ट के अलावा दूसरे नाम नीचे बताए गए हैं।
// initialization
(int, int, int) vertices = (90, 45, 45);
// assignment
vertices = (60, 60, 60);
// return value
(bool, int) GetSameOrBigger(int num1, int num2)
{
return (num1 == num2, num1 > num2 ? num1 : num2);
}
// method argument
int Add((int, int) operands)
{
return operands.Item1 + operands.Item2;
}
Item1 जैसे फील्ड के नाम कोड को पढ़ने लायक नहीं बनाते। नीचे दिया गया कोड टपल के फील्ड के नाम रखने के 2 तरीके दिखाता है। नीचे के कोड में यह भी ध्यान दीजिए कि var का इस्तेमाल टपल के साथ किया जा सकता है और टाइप का अनुमान लगाया जा सकता है। यह नाम वाले और बिना नाम वाले फील्ड वाले टपल, दोनों के लिए बराबर काम करता है।
// name items in declaration
(bool success, string message) results = (true, "well done!");
bool mySuccess = results.success;
string myMessage = results.message;
// name items in creating expression
var results2 = (success: true, message: "well done!");
bool mySuccess2 = results2.success;
string myMessage2 = results2.message;
इस अभ्यास में आपको फोन नंबरों का विश्लेषण करना है।
आपको 2 फीचर बनाने हैं।
इन फंक्शनों को दिए जाने वाले फोन नंबर हमेशा NNN-NNN-NNNN के रूप में होते हैं, जैसे 212-515-9876, और ये कभी null नहीं होते।
आपके विश्लेषण से 3 चीज़ें मिलनी चाहिए
फोन नंबर की जानकारी देने के लिए (स्टैटिक) मेथड PhoneNumber.Analyze() बनाइए।
PhoneNumber.Analyze("631-555-1234");
// => (false, true, "1234")
फोन नंबर नकली है या नहीं, यह पता लगाने के लिए कार्य 1 में मिली जानकारी का उपयोग करके (स्टैटिक) मेथड PhoneNumber.IsFake() बनाइए।
PhoneNumber.IsFake(PhoneNumbers.Analyze("631-555-1234"));
// => true
Exercism पर साइन अप कीजिए और C# को 62 कॉन्सेप्ट178 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।