2012-03-21 14 views
9

सी # में, जब की तरह एक सार्वजनिक विधि को परिभाषित:सी # सार्वजनिक विधि में, 'int' प्रकार पूर्णांक से अलग कैसे इंगित करता है?

public int myMethod(String someString) 
{ 
    //code 
} 

क्या int प्रकार पूर्णांक से अलग संकेत मिलता है? मुझे क्या भ्रमित करता है कि विधि इस मामले में स्ट्रिंग के रूप में स्ट्रिंग का उपयोग कर रही है।

+7

वापसी का प्रकार। – SwDevMan81

+1

देखें [दृश्य सी #] (http://msdn.microsoft.com/en-us/library/kx37x362.aspx) और [सी # प्रोग्रामिंग गाइड] (http://msdn.microsoft.com/en-us/library/ 67ef8sbd.aspx) और [तरीके] (http://msdn.microsoft.com/en-us/library/ms173114.aspx)। –

+0

क्षमा करें यह एक पूर्ण शुरुआत का प्रश्न है। मैंने पहले इंटरनेट पर कुछ शोध किया था। मैं इंटीजर के बारे में जानता था लेकिन यह नहीं था कि यह वापसी मूल्य के लिए था। नीचे दिए गए जवाब बेहद सहायक थे! मैं इसे आपके लिए कैसे तैयार कर सकता हूं इसे वोट न दें? मैं भविष्य में एक प्रश्न पोस्ट करने से पहले हमेशा उपरोक्त लिंक देखता हूं। –

उत्तर

8

यह विधि का रिटर्न प्रकार है। इस मामले में एक 32-बिट

-2,147,483,648 .. +2,147,483,647 

इसमें .NET प्रकार System.Int32 से मेल खाती है की एक सीमा के साथ पूर्णांक पर हस्ताक्षर किए। int इसके लिए एक आसान सी # उपनाम है।

आप इस

public int Square(int i) 
{ 
    return i * i; 
} 

की तरह एक मूल्य वापसी होगी और आप इसे इस

int sqr = Square(7); // Returns 49 
// Or 
double d = Math.Sin(Square(3)); 

की तरह कह सकते हैं आप वापसी मान की जरूरत नहीं है, आप उसे अनदेखा कर सकते हैं।

int i; 
Int32.TryParse("123", out i); // We ignore the `bool` return value here. 

आप कोई वापसी मान है, तो आप प्रकार के बदले कीवर्ड void का प्रयोग करेंगे। void वास्तविक प्रकार नहीं है।

public void PrintSquare(int i) 
{ 
    Console.WriteLine(i * i); 
} 

और आप इसे इस

PrintSquare(7); 

अपने उदाहरण में विधि की तरह कहेंगे एक string इनपुट पैरामीटर के रूप में स्वीकार करता है और परिणाम के रूप में एक int देता है। एक व्यावहारिक उदाहरण एक विधि होगी जो string में स्वरों की संख्या की गणना करता है।

public int NumberOfVowels(string s) 
{ 
    const string vowels = "aeiouAEIOU"; 

    int n = 0; 
    for (int i = 0; i < s.Length; i++) { 
     if (vowels.Contains(s[i])) { 
      n++; 
     } 
    } 
    return n; 
} 
+0

एक हस्ताक्षरित पूर्णांक क्या है? –

+0

ओलिवियर सही है। 'int' पर हस्ताक्षर किए गए हैं क्योंकि यह नकारात्मक संख्याएं रख सकता है। इसके विपरीत, 'uint' हस्ताक्षरित है, और केवल सकारात्मक संख्या पकड़ सकता है। – Diego

+0

हां, 'uint' की सीमा' 0 .. 4,294,967,295' है। –

3

यह वापसी मूल्य का है।

6

यह "पूर्णांक" के लिए खड़ा है, और इसका मतलब यह है कि विधि 32 बिट्स की एक पूर्णांक संख्या देता है, जिसे सी # में Int32 में भी जाना जाता है।

+0

और अधिक जानकारी के लिए, कृपया यह आलेख देखें: http://csharp.net-tutorials.com/basics/functions/ – David

+0

मुझे लगता है कि @र्थुरमानी को पता था कि एक int पहले से ही क्या था लेकिन वापसी प्रकार के बारे में नहीं समझा। –

+0

आप सही हैं @ डेविड हेफरन धन्यवाद –

5

जैसा कि पहले बताया गया था, यह विधि वापस आती है।

उदाहरण के लिए:

public string x() 
{ 
return 5; 
} 

त्रुटि चाहेंगे। 5 निश्चित रूप से एक स्ट्रिंग नहीं है!

public int x() 
{ 
return 5; 
} 

सही होगा; चूंकि 5 को एक int माना जा सकता है (पूर्णांक के लिए छोटा, जो मूल रूप से केवल एक संख्या है जिसमें दशमलव बिंदु नहीं हो सकता है।वहाँ भी, नाव है डबल, लंबी और दशमलव है, जो के बारे में पढ़) के लायक हैं

वहाँ, यह वापस नहीं उदाहरण के लिए, का कोई रास्ता नहीं होना चाहिए अगर आप कार्य करें:

public int x() 
{ 
if (false) 
{ 
    return 5; 
} 
} 

यह त्रुटि होगा क्योंकि अगर अभिव्यक्ति झूठी है (यह निश्चित रूप से है) यह एक int वापस नहीं आ जाएगी, यह कुछ भी वापस नहीं करेगा।

यदि आप void कीवर्ड का उपयोग करते हैं, तो इसका मतलब है कि यह कुछ भी वापस नहीं करता है। उदाहरण के लिए:

public void x() 
{ 
someFunction("xyz"); 
} 

यह है कि यह के रूप में यह एक void विधि है वापस नहीं करता है ठीक है।

मुझे नहीं लगता कि आप प्रोग्रामिंग अपनी प्रतिष्ठा से पहचानने के लिए नए हैं, लेकिन सिर्फ मामले में, जब आप कुछ लौट आप इसे वापस विधि से, पारित उदाहरण के लिए:

int x; 

public int seven() 
{ 
return 7; 
} 

x = seven(); 

x बन जाएगा फ़ंक्शन seven का वापसी मूल्य।

ध्यान दें कि 'गतिशील' प्रकार यहाँ काम करता है:

public dynamic x(int x, int y) 
{ 
if (x == y) 
{ 
    return "hello"; 
} 
return 5 
} 

लेकिन अगर आप सी # के लिए नए हैं, लेकिन अब तक गतिशील टाइपिंग में पकड़े नहीं है। :)

1

हर कोई यहाँ सही है लेकिन MSDN से परिभाषा:

"Int32 अपरिवर्तनीय मान प्रकार है कि मूल्यों है कि नकारात्मक +२१४७४८३६४८ (जो Int32.MinValue निरंतर का प्रतिनिधित्व करती है, से लेकर के साथ हस्ताक्षर किए पूर्णांकों का प्रतिनिधित्व करता है) सकारात्मक 2,147,483,647 (जो Int32.MaxValue निरंतर। NET फ्रेमवर्क भी एक अहस्ताक्षरित 32-बिट पूर्णांक मान प्रकार, UInt32, जो मानों 0 से ४२९४९६७२९५ तक होती है का प्रतिनिधित्व करता है शामिल हैं का प्रतिनिधित्व करती है। "

मिला के माध्यम से यहां एमएसडीएन पर: Int32 Structure

मेरा सुझाव है कि आप उपरोक्त लिंक में मिले दस्तावेज़ों को पढ़ लें। यह बेहद उपयोगी है।

संबंधित मुद्दे