जैसा कि @ChosPandion द्वारा उल्लिखित है, उस विशिष्ट मामले में आप DateTime
संरचना वापस कर देंगे।
सामान्य में, हालांकि, आप निम्नलिखित विकल्पों होगा:
out
मापदंडों
का उपयोग करते हुए यह एक आसान तरीका है कि आमतौर पर हमेशा काम करेगा। हालांकि, यह थोड़ी गड़बड़ है, क्योंकि परिणाम वापस लौटाया जाता है जहां आप आमतौर पर फ़ंक्शन तर्कों को पारित करने की अपेक्षा करेंगे और विधि हस्ताक्षर को लंबे समय तक और रिफैक्टर के लिए कठिन हो सकता है।
public void GetTime(out int hr, out int min)
{
DateTime dt = DateTime.Now;
hr = dt.Hour;
min = dt.Minute;
}
static void Main(string[] args)
{
// declare variables for out parameters first
int hour, minute;
GetTime(out hour, out minute);
}
एक सरणी
यह एक सरल विधि है कि अच्छी तरह से काम करता है, तो मान वापस करने एक ही प्रकार है का उपयोग करना।
public int[] GetTime()
{
DateTime dt = DateTime.Now;
return new[] { dt.Hour, dt.Minute};
}
एक संपत्ति बैग का उपयोग
यह बहुत सुविधाजनक है और बदले बिना बाद में प्रकार और लौट आए मानों की संख्या की आसान संशोधन की अनुमति देता है (ए संपत्ति बैग एक साधारण वर्ग है जो केवल गुण है है) विधि हस्ताक्षर।
class A
{
int Prop1 { get; set; }
int Prop2 { get; set; }
}
public A SomeMethod()
{
return new A() { Prop1 = 1, Prop2 = 2 }
}
एक टपल
का प्रयोग सी # 4.0 (VS 2010 की आवश्यकता है) में आप Tuple<T1, T2, ...>
वर्ग का उपयोग कर सकते हैं:
public Tuple<int, int> GetTime()
{
DateTime dt = DateTime.Now;
return Tuple.Create(dt.Hour, dt.Minute);
}
सी # 7.0 tuples
सी # 7.0 कहते हैं एकाधिक वापसी मूल्यों के लिए समर्थन। इस तरह एक परोक्ष बनाया टपल वापस जाने के लिए आप कोड लिख सकते हैं:
(string, string, string) LookupName(long id) // tuple return type
{
... // retrieve first, middle and last from data storage
return (first, middle, last); // tuple literal
}
टपल तत्वों नाम Item1
, Item2
, आदि डिफ़ॉल्ट रूप से कर रहे हैं, लेकिन आप यह भी नाम, उदाहरण के लिए निर्दिष्ट कर सकते हैं
(string first, string middle, string last) LookupName(long id) // tuple return type
{
... // retrieve first, middle and last from data storage
return (first, middle, last); // tuple literal
}
और फिर उन नामों के माध्यम से टपल तत्वों का उपयोग:
var names = LookupName(id);
WriteLine($"found {names.first} {names.last}.");
संक्षिप्त उत्तर: नहीं, आप सरणी, सूची, शब्दकोश, या किसी भी संग्रह –
आप 'पर DateTime.Now' क्यों एकत्र नहीं करते में एक से अधिक मान लौट सकते हैं' बजाय mc' और उसके गुणों का उपयोग करें? – BrunoLM
संभावित डुप्लिकेट [मैं सी # में किसी फ़ंक्शन से एकाधिक मान कैसे वापस कर सकता हूं?] (Http://stackoverflow.com/questions/748062/how-can-i-return-multiple-values-from-a-function-in -c) – nawfal