खोज…


टुपल्स बनाना

Tuples जेनेरिक प्रकारों Tuple<T1> - Tuple<T1,T2,T3,T4,T5,T6,T7,T8> । प्रत्येक प्रकार 1 से 8 तत्वों वाले टपल का प्रतिनिधित्व करता है। तत्व विभिन्न प्रकार के हो सकते हैं।

// tuple with 4 elements
var tuple = new Tuple<string, int, bool, MyClass>("foo", 123, true, new MyClass());

Tuples को स्टैटिक Tuple.Create विधियों का उपयोग करके भी बनाया जा सकता है। इस मामले में, तत्वों के प्रकार सी # कंपाइलर द्वारा अनुमान लगाए गए हैं।

// tuple with 4 elements
var tuple = Tuple.Create("foo", 123, true, new MyClass());
7.0

C # 7.0 के बाद से, Tuples को ValueTuple का उपयोग करके आसानी से बनाया जा सकता है।

var tuple = ("foo", 123, true, new MyClass());

तत्वों को आसान अपघटन के लिए नामित किया जा सकता है।

(int number, bool flag, MyClass instance) tuple = (123, true, new MyClass());

टपल तत्वों तक पहुँचना

टपल तत्वों को एक्सेस करने के लिए Item1 - Item8 गुणों का उपयोग करें। केवल अनुक्रमणिका संख्या के साथ या Item3 आकार के बराबर गुण उपलब्ध होने जा रहे हैं (अर्थात कोई व्यक्ति Tuple<T1,T2> में Tuple<T1,T2> Item3 संपत्ति तक नहीं पहुंच सकता है)।

var tuple = new Tuple<string, int, bool, MyClass>("foo", 123, true, new MyClass());
var item1 = tuple.Item1; // "foo"
var item2 = tuple.Item2; // 123
var item3 = tuple.Item3; // true
var item4 = tuple.Item4; // new My Class()

टुपल्स की तुलना करना और छांटना

Tuples की तुलना उनके तत्वों के आधार पर की जा सकती है।

एक उदाहरण के रूप में, एक गणनीय जिसके तत्व Tuple के प्रकार हैं, को एक निर्दिष्ट तत्व पर परिभाषित तुलना ऑपरेटरों के आधार पर क्रमबद्ध किया जा सकता है:

List<Tuple<int, string>> list = new List<Tuple<int, string>>();
list.Add(new Tuple<int, string>(2, "foo"));
list.Add(new Tuple<int, string>(1, "bar"));
list.Add(new Tuple<int, string>(3, "qux"));

list.Sort((a, b) => a.Item2.CompareTo(b.Item2)); //sort based on the string element

foreach (var element in list) {
    Console.WriteLine(element);
}

// Output:
// (1, bar)
// (2, foo)
// (3, qux)

या सॉर्ट उपयोग को उलटने के लिए:

list.Sort((a, b) => b.Item2.CompareTo(a.Item2));

एक विधि से कई मान लौटाएँ

मापदंडों का उपयोग किए बिना एक विधि से कई मान वापस करने के लिए ट्यूपल्स का उपयोग किया जा सकता है। निम्नलिखित उदाहरण में AddMultiply का उपयोग दो मान (राशि, उत्पाद) वापस करने के लिए किया जाता है।

void Write()
{
    var result = AddMultiply(25, 28);
    Console.WriteLine(result.Item1);
    Console.WriteLine(result.Item2);
}

Tuple<int, int> AddMultiply(int a, int b)
{
    return new Tuple<int, int>(a + b, a * b);
}

आउटपुट:

53
700

अब C # 7.0 वेल्यू ट्यूपल का उपयोग करते हुए विधियों से कई मान वापस करने का एक वैकल्पिक तरीका प्रदान करता है। ValueTuple संरचना के बारे में अधिक जानकारी



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow